開発者によって明示的に宣言されたdestructor
およびを持たないクラスのケースを考えてください。この場合、クラスのdestructor
はimplicitly declared
になります。それで、クラスのオブジェクトが破壊される直前のときに、destructor
がimplicitly defined
であることは本当ですか?暗黙的に定義されたクラスのデストラクタ
コンストラクタの動作も上記と同じですか?それはimplicitly defined
クラスのオブジェクトが作成されるときだけですか?上記のコードで
EDIT
class A {
public:
};
int main() {
}
、〜A()暗黙的に宣言されるであろう。私の質問は、それは本当のデストラクタの定義は、クラスのオブジェクトが
class A {
public:
};
int main() {
A a;
}
のようにインスタンス化されている場合にのみ、暗黙のうちに行われるか、暗黙的にオブジェクトのインスタンス化が行われていない場合でも、定義されていることかどうか?
これはなぜ関連性があるのかを説明すると、より良い回答が得られるかもしれません。 –
「暗黙に宣言された」と「暗黙的に定義された」の区別をしていますか?私は本当に質問を理解するために苦労しています... – NPE
わかりやすくするためにいくつかのコードスニペットを追加しました。 –