C++(공부중)3 C++ 공부 3일차 this는 자기 자신 즉 객체본인을 가리키는 포인터이다. 레퍼런스 본인을 리턴하는 함수. #include class anything{ int a; public: anything(int something) : a(something) {} int& ref() {return a; } int not_ref() {return a;} void show() { std::cout 2020. 7. 30. C++ 공부 2일차 지역변수의 레퍼런스를 리턴 int& function(){ int a = 2; return a; } int main(){ int b = function(); b = 3; return 0; } 위 코드는 컴파일 오류. 왜냐하면 function함수는 레퍼런스를 리턴하는 함수이다. 하지만 function함수는 리턴을 하게 되면 a는 사라지게 되고 int b는 a의 별명과 같다는 의미를 같게된다. b는 별명의 데이터와 같다고 명령받았지만 그 안의 실제 데이터인 a는 이미 사라져버린 상태이다. 이러한 레퍼런스를 댕글링 레퍼런스(dangling reference)라고 한다. *레퍼런스를 리턴하는 함수에서 지역 변수의 레퍼런스를 리턴하지 않도록 조심해야 한다. 외부 변수의 레퍼런스를 리턴 int& function(in.. 2020. 7. 28. C++ 공부 1일차 int x; int& y = x; int& z = y; C++에는 C언어의 대부분 문법들을 포함하고 있다. C++ 파일들은 xxx.cpp로 저장을 한다. printf(.....)은 C++에서 std::cout 2020. 7. 28. 이전 1 다음