【初心者歓迎】C/C++室 Ver.73【環境依存OK】 at TECH【初心者歓迎】C/C++室 Ver.73【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト258:デフォルトの名無しさん 10/06/10 21:15:04 >>256 これって削除子のnewで例外出たときにまずくない? #include <memory> #include <functional> #include <iostream> #include <cstdlib> #include <new> void * operator new (std::size_t size) { std::cout << "op new" << std::endl; static int count = 1; if(count-- == 0){throw "fack!";} return malloc(size); } void operator delete (void *p) { std::cout << "op delete" << std::endl; free(p); } struct Hoge { Hoge(){std::cout << "Hoge()" << std::endl;} ~Hoge(){std::cout << "~Hoge()" << std::endl;} }; int main(void) { try{std::unique_ptr<Hoge, std::function<void(Hoge*)>> p(new Hoge, [](Hoge *p){std::cout << "delete" << std::endl; delete p;}); }catch(...){ std::cout << "oh..." << std::endl;} return 0; } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch