Dev Language/Modern C++ (C++11, 14)
C++ 11 : default, delete 키워드
미티치
2020. 8. 8. 22:37
default
컴파일러가 함수를 자동으로 생성하도록 명시적으로 지정
delete
컴파일러가 함수를 자동으로 생성하지 않도록 명시적으로 지정
class TEST
{
public:
TEST() = default;
TEST(const TEST&) = default;
~TEST() = default;
TEST & operator=(const TEST) = delete;
void* operator new(size_t) = delete; // new로 할당하지 못하게 방지
};
Q. 멤버 변수를 기본 타입이 아닌 사용자가 정의한 클래스 타입으로 멤버변수를 갖고있는 클래스이면
위에 처럼 TEST( const TEST& ) = default; 로 선언해도 깊은 복사가 이루어질까? 안될거같은데?