tag:blogger.com,1999:blog-3636872937372639901.post814334591335915919..comments2024-03-27T21:24:43.584+09:00Comments on 本の虫: newと初期化失敗江添亮http://www.blogger.com/profile/13387122818743087721noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-3636872937372639901.post-24549474749599776892010-07-05T22:09:18.612+09:002010-07-05T22:09:18.612+09:00ううむ(-_-;)
という事はEmbarcadero C++はやはり規格外の動作なんだろうか。
o...ううむ(-_-;)<br />という事はEmbarcadero C++はやはり規格外の動作なんだろうか。<br /><br />operator new実行中にコンストラクタで例外を投げてもoperator deleteを呼び出してくれません。<br /><br />こういう規格外の動作が多いんでboostの移植も進まないんだろうな。萌ゑnoreply@blogger.comtag:blogger.com,1999:blog-3636872937372639901.post-39177380445341497212010-07-05T04:34:54.981+09:002010-07-05T04:34:54.981+09:00そのようですね。そのようですね。江添亮https://www.blogger.com/profile/13387122818743087721noreply@blogger.comtag:blogger.com,1999:blog-3636872937372639901.post-25211212437734804572010-07-05T02:16:42.563+09:002010-07-05T02:16:42.563+09:00やっぱり。
確認したところ、 "may" と書いてあるのは new 式全体につ...やっぱり。<br /><br />確認したところ、 "may" と書いてあるのは new 式全体についての話( N3092 では p8 )で、オブジェクト初期化中の例外については(対応する deallocation function が見つかる限り)必ず deallocation function が呼び出されることになっています( N3092 では p18 )。Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3636872937372639901.post-11688042281543121132010-07-05T01:31:51.103+09:002010-07-05T01:31:51.103+09:00いま試したら、うまくいった。
何か間違えていたらしい。いま試したら、うまくいった。<br />何か間違えていたらしい。江添亮https://www.blogger.com/profile/13387122818743087721noreply@blogger.comtag:blogger.com,1999:blog-3636872937372639901.post-77315703882530257052010-07-05T00:56:52.356+09:002010-07-05T00:56:52.356+09:00> 少なくとも、MSVCとGCCは、この挙動を実装していなかった。
そんなはず無いと思うんで...> 少なくとも、MSVCとGCCは、この挙動を実装していなかった。<br /><br />そんなはず無いと思うんですが、どうやって確認されたんでしょう?Anonymousnoreply@blogger.com