15/11/29 20:15:17.63 +8PPW4GA.net
>>4
(1)については、
URLリンク(www.open-std.org)
の、3.7.4.2.3に
If a deallocation function terminates by throwing an exception, the behavior is undefined.
って書いてある。だから例外投げるデストラクタの存在は無視して良いと思う。
あとnewは例外を投げるとすればstd::bad_alloc以外は投げない事になってるのと、
その場合にはそのサイズのメモリの確保は出来ない事になってるので
素直にstd::terminate投げるなりexit呼ぶなりしても良いと思う。
(2)については、(const_cast出来るって意味で)本当に書き換え不能な領域を実行中に作るのは無理なので
書き換えしないでねって他のプログラマに表明する以上の意味は無いと思う。