주소에 의한 전달은 기본적으로 값에 의한 전달과 동일
대신 값이 아닌 주소일 뿐!
#include <iostream>
using namespace std;
void foo1(int* ptr) {
cout << *ptr << " " << ptr << " " << &ptr << endl;
}
void foo2(double degrees, double* sin_out, double* cos_out) {
*sin_out = 1.0;
double x = 7;
sin_out = &x;
*cos_out = 2.0;
}
int main() {
int value = 5;
cout << value << " " << &value << endl;
int* ptr = &value;
foo1(ptr);
foo1(&value);
cout << &ptr << endl; //foo에서 출력되는 &ptr과 다름!
double degrees = 30;
double sin, cos;
foo2(degrees, &sin, &cos);
cout << sin << " " << cos << endl;
return 0;
}
'코딩 > C++' 카테고리의 다른 글
inline 함수 (0) | 2024.03.13 |
---|---|
함수 반환값 (0) | 2024.03.13 |
참조(reference)에 의한 전달 (0) | 2024.03.12 |
값에 의한 전달 (0) | 2024.03.12 |
std::array (0) | 2024.03.11 |