함수내에서 변경되는 값이 여러개라 리턴을 여러개 받고싶지만 리턴값은 하나밖에 받지 못한다.
이럴경우 포인터를 넘겨줘서 함수 내에서 직접 값을 받아올 수 있다.
뭐 이런경우 아니라도 다양하게 사용가능하겠지.
예제가 괜찮은게 있어서 기록 한다.
- #include <iostream>
- using namespace std;
- void func1(int);
- void func2(int *);
- void func3(int &);
- int main()
- {
- int ins1 = 10; // ins1 변수
- int *ins2 = &ins1; // ins2 포인터 변수
- // void func1 (int i){
- func1 ( ins1 );
- func1 ( * ins2 );
- // void func2 (int *i){ // 파라미터값이 포인터이니
- func2 ( & ins1 );
- func2 ( ins2 ); // 포인터를 넘기고
- // void func3 (int &i){ // 파라미터에 값을 넘거야 하니
- func3 ( ins1 );
- func3 ( *ins2 ); // * 붙여 값을 넘긴다.
- return 0;
- }
- void func1 (int i)
- {
- i = i * 10;
- cout << "func1 : "<< i << endl;
- }
- void func2 (int *i)
- {
- int res;
- res= *i * 20;
- cout << "func2 : "<< res << endl;
- }
- void func3 (int &i)
- {
- int res;
- res= i * 30;
- cout << "func3 : "<< res << endl;
- }
결과
func1 : 100
func1 : 100
func2 : 200
func2 : 200
func3 : 300
func3 : 300
[출처] 파라미터값으로 포인터 넘겨 받기 part 2|작성자 바우만
[출처] 파라미터값으로 포인터 넘겨 받기 part 2|작성자 바우만
'Programming > C, C++, MFC' 카테고리의 다른 글
fatal error LNK1123: COFF로 변환하는 동안 오류가 발생했습니다. (0) | 2014.07.29 |
---|---|
변수의 메모리 할당과 #pragma pack() (0) | 2014.07.23 |
STL List (0) | 2014.06.09 |
[Function][MFC] 폴더 내 모든파일 삭제하기 (0) | 2014.03.25 |
[Function][MFC] 폴더 내 파일 갯수 확인하기 (0) | 2014.03.25 |