一時構造体のデストラクタが呼ばれない
11件表示
すべてのコメント一覧へ
投稿ツリー
-
一時構造体のデストラクタが呼ばれない (convol, 2011/1/3 0:58) «
-
Re: 一時構造体のデストラクタが呼ばれない (tama, 2011/1/3 1:44)
-
Re: 一時構造体のデストラクタが呼ばれない (SHOO, 2011/1/3 11:48)
-
Re: 一時構造体のデストラクタが呼ばれない (convol, 2011/1/4 23:33)
-
Re: 一時構造体のデストラクタが呼ばれない (tama, 2011/1/5 2:03)
-
Re: 一時構造体のデストラクタが呼ばれない (SHOO, 2011/1/5 21:10)
-
Re: 一時構造体のデストラクタが呼ばれない (tama, 2011/1/6 2:09)
-
-
-
Re: 一時構造体のデストラクタが呼ばれない (haru-s, 2011/3/29 20:53)
-
Re: 一時構造体のデストラクタが呼ばれない (SHOO, 2011/3/29 21:52)
-
Re: 一時構造体のデストラクタが呼ばれない (tama, 2011/3/30 6:45)
-
Re: 一時構造体のデストラクタが呼ばれない (SHOO, 2011/4/1 20:15)
-
-
-
convol
初めまして、convolと申します。
最近D言語をはじめたばかりなのですが、言語仕様でよく分からない所があったので投稿させていただきます。
表題のとおりなのですが、
のように一時構造体(この呼び方でいいんでしょうか)を作っても
constructed
func is called
としか表示されず、デストラクタが呼び出されていないようなのです。
クラスの場合は、当然ながらデストラクタはきちんと呼び出されるようで、一体どういった理屈なのでしょうか。
よろしくおねがいします。
最近D言語をはじめたばかりなのですが、言語仕様でよく分からない所があったので投稿させていただきます。
表題のとおりなのですが、
struct Hoge {
this(int n) {
writeln("constructed");
}
~this() {
writeln("destructed");
}
void func() {
writeln("func is called");
}
}
void main() {
Hoge(1).func();
}
のように一時構造体(この呼び方でいいんでしょうか)を作っても
constructed
func is called
としか表示されず、デストラクタが呼び出されていないようなのです。
クラスの場合は、当然ながらデストラクタはきちんと呼び出されるようで、一体どういった理屈なのでしょうか。
よろしくおねがいします。
投票数:28
平均点:4.29
返信する