C++/C++ 기본

대입 연산자

검정비니 2018. 7. 28. 17:21
728x90
반응형

대입 연산자




대입 연산자는 연산자 오버로딩의 결과로서 실행된다. 복사 생성자와 비슷하게 값에 복사를 수행한다. 생성자와 마찬가지로 따로 선언하지 않을 경우 default로 얕은 복사를 하는 대입 연산자를 컴파일러가 자동으로 만들어서 삽입한다.


다음은 예제를 통해서 대입 연산자를 구현하는 방식에 대해서 알아보도록 하자.


i.e.

class TClass{

public:

TClass& operator = (const TClass& target) {

if (this != &target) {

//복사 수행

}

return *this;

}

}


대입 연산자는 TClass& 로 reference 형을 return 한다. 이는 cls = cls2 = cls3; 처럼 연속으로 대입 연산자를 수행가능 하도록 만들기 위해서 그렇게 한 것이다. 


const TClass& cls 으로 선언한 이유는 복사 생성자 처럼 연속으로 복사 생성자가 호출 되지 않도록 하기 위함이다.

반응형

'C++ > C++ 기본' 카테고리의 다른 글

디폴트 매개 변수  (0) 2018.07.30
함수 중복  (0) 2018.07.28
묵시적 복사 생성  (0) 2018.07.28
복사 생성자  (0) 2018.07.27
참조와 함수  (0) 2018.07.27