C++では、スタックに割り当てられたオブジェクトに対してデストラクタが確実に呼び出されますか?スタック割り当てオブジェクトに対してデストラクタが呼び出されるメカニズムは何ですか?
class MyClass {
public:
~MyClass()
{
std::cout<<"Destructor called."<<std::endl;
}
MyClass()
{
std::cout<<"Constructor called."<<std::endl;
}
};
....................................................................
//Limit scope for example
{
MyClass instance;
}
コンストラクタとデストラクタの両方と呼ばれている:何が次のように私が動的メモリを割り当てデストラクタ関数(またはそれへのポインタ)に起こります。何が起きてる?
インスタンスオブジェクトの名前です。 instance()は、クラスのno引数ctorへの単なる呼び出しです。この場合、括弧は不要ですが、確かにinstance()というメソッドへの呼び出しではありません。 – dicroce
ダイナミックメモリの割り当てが表示されません。 –