Reference2 [C++] const reference, return by reference const reference call by value - 인자로 전달된 객체의 복사본이 생성된다. 원본 객체를 변경할 수 없기에 안전하지만 복사본에 대한 오버헤드가 있다. call by reference with const void foo (const Data& d) 복사본에 대한 오버헤드를 없애고, 안전하게 값을 사용하게 하기 위해서 const reference를 사용할 수 있다. 또한 복사 생성자와 소멸자가 호출되지 않는다. #include struct Date { int year; int month; int day; }; //void foo(Date d) // call by value void foo(const Date& d) // const reference : 안전하게 값을 넘겨 사용이 가능하다.. 2021. 8. 14. [C++] reference 개념 c++ reference 개념 아주 기본 개념이지만 완벽하게 이해하지 않고 개발하려면 매우 혼란스럽다. reference 개념을 확실하게 이해해야 한다. c에서는 pointer의 개념, 주소의 개념이 정말 중요했다면, 추가로 c++에서는 reference 개념을 정확히 이해해야 한다. 변수 - 메모리의 특정 위치를 가리키는 이름이다. - 코드 안에서 해당 메모리에 접근하기 위해서 사용한다. 레퍼런스 - 기존 변수(메모리)에 또 다른 이름(alias)를 부여하는 것 - 아래 코드에서 n이 기존 변수 이며, r이 새로운 reference 변수 이름이다. #include int main() { int n = 10; n = 20; //int* p = &n; // 포인터 변수에서 주소를 꺼내는 방법 int& r .. 2021. 8. 13. 이전 1 다음