C++ 11 표준에 따라 default
키워드를 사용하여 특수 멤버 함수를 기본값으로 선언 할 수 있습니다.C++에서 명시 적으로 선언 된 메서드
class Foo
{
public:
Foo() = default;
Foo(const Foo& source) = default;
Foo(Foo&& source) = default;
~Foo() = default;
Foo& operator=(const Foo& right) = default;
Foo& operator=(Foo&& right) = default;
};
사용자 정의 구현이 필요하지 않은 경우 명시 적으로 기본값 또는 삭제 된 모든 메소드를 선언하는 것이 좋습니다. 예를 들어, 클래스에 대한 복사 생성자 및 복사 할당 연산자를 구현해야합니다. 컴파일러에서 제공하는 클래스를 볼 때마다 생각하지 않기 위해 다른 모든 특별 회원 함수를 default
또는 delete
키워드로 표시해야합니까?
IMO, 그것은 순수한 잡음입니다. (좋은) C++ 프로그래머가 이미 알고있는 것에 아무 것도 추가하지 않습니다. –
@Park Young-Bae가 대답 해 주시면 받아 들일 수 있습니까? –