c++ でクラスのコンストラクタと関数実行を同時に行う書き方ができますが、この方法でアプリを実行すると通常のインスタンスを作ってから関数を実行する書き方と違い、関数実行後にデストラクタが即時実行されます。
この書き方はなにか特別な呼称があるでしょうか?
C++
#include <iostream> using std::cout; using std::endl; class Class { public: Class() { cout << "Call constructor." << endl; }; ~Class() { cout << "Call destructor." << endl; }; void func() { cout << "Call function." << endl; }; }; int main(int, char**) { Class().func(); // ここでデストラクタが実行される cout << "Exit" << endl; // インスタンスを作った場合ここでデストラクタが実行される return 0; }
出力
console
Call constructor. Call function. Call destructor. Exit
まだ回答がついていません
会員登録して回答してみよう