【初心者歓迎】C/C++室 Ver.49【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.49【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 08/02/21 00:43:37 デコンストラクタ の検索結果 約 1,390 件 51:デフォルトの名無しさん 08/02/21 00:44:45 "デコンストラクタ" の検索結果 約 788 件 52:デフォルトの名無しさん 08/02/21 00:46:50 >>46 newをオーバーロードしてmallocで実装ということでしょうか? 53:デフォルトの名無しさん 08/02/21 00:49:02 >>52 new/delete new[]/delete[] malloc/free 対応関係を間違えるな。 54:デフォルトの名無しさん 08/02/21 00:51:01 >>52 T* p = static_cast<T*>(::operator new(sizeof (T))); // 領域のみ確保 new (p) T(); // コンストラクタを呼ぶ(placement new) p->~T(); // デストラクタを呼ぶ ::operator delete(p, p); // placement delete(省略可) ::operator delete(p); // 領域を解放 55:デフォルトの名無しさん 08/02/21 00:51:39 #include <new> #include <cstdlib> class c {}; void* p = std::malloc(sizeof (c)); c* obj = new(p) c; //... obj->~c(); //... std::free(obj); malloc/freeでなくても、operator new/delete関数とかでもいいだろうけどね。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch