【初心者歓迎】C/C++室 Ver.48【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.48【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト766:デフォルトの名無しさん 08/02/16 12:47:54 例外を投げた際、デストラクタが呼ばれるのは例外が捕捉された時。 例外が捕捉されなければ呼ばれないかもしれない(環境依存)。 auto_ptr の問題じゃなくて、C++ の仕様の問題。 767:デフォルトの名無しさん 08/02/16 12:48:27 >>765 catchしたか 768:765 08/02/16 12:53:01 すみません、catchしたかどうかが重要とは知らず書いてませんでしたが、catchはしています。 ちなみに、std::auto_ptrの部分を自作のsmart_ptr(スマートポインタの解説サイトを参考に作成) にした場合はきちんとデストラクタが呼ばれました。 コンパイラはBorland C++ Compiler 5.82 なのですが、これのauto_ptrがポンコツなのかも… 769:デフォルトの名無しさん 08/02/16 12:58:41 memory ヘッダの中を読んでみたら? 770:デフォルトの名無しさん 08/02/16 13:01:09 とりあえず gcc だと呼ばれる。 771:765 08/02/16 13:12:49 う~ん、中身見てみましたがおかしいと思えるところは見つからず… auto_ptrのソースをちょこっと改造して試したところauto_ptrのデストラクタ自体が呼ばれてないようでした。 ただ、gccだと正常に呼ばれるとのことなのでBCCが悪いということで解決します。 どうも、ありがとうございました。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch