根據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你能否回答,我可以接受嗎? –