C++
[C++] reference (참조자, 레퍼런스)
코딩준우
2023. 7. 8. 14:52
#include <iostream>
void change_val(int* p){
*p = 3;
}
void change_val(int& r){
r = 7;
}
int main(int argc, char** argv)
{
int number = 5;
// int &ref_number; // error: declaration of reference variable 'ref_number' requires an initializer
int &ref_number = number;
std::cout << "ref_number : " << ref_number << "\n";
std::cout << "number : " << number << "\n";
change_val(&number);
std::cout << "after change_val(int* p) number : ";
std::cout << number << "\n";
change_val(number);
std::cout << "after change_val(int& r) number : ";
std::cout << number << "\n";
int a = 10;
int& ref_a = a;
int b = 5;
ref_a = b; // ref_a가 b를 가리키라는 것이 아닌 a = b와 동치
return 0;
}
#include <iostream>
int main(int argc, char** argv)
{
int x;
int& y = x;
int& z = y;
x = 1;
std::cout << "x : " << x << " y : " << y << " z : " << z << "\n";
y = 2;
std::cout << "x : " << x << " y : " << y << " z : " << z << "\n";
z = 3;
std::cout << "x : " << x << " y : " << y << " z : " << z << "\n";
return 0;
}