【初心者歓迎】C/C++室 Ver.96【環境依存OK】 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0261デフォルトの名無しさん
2015/06/20(土) 16:46:12.46ID:aEgncsrl「配列確保と書いてある処理に、::operator new[]()ではなく、::operator new()を使ってメモリ確保してるのは大丈夫なんでしょうか」
ということなんです。そして、疑問に思った理由は、new[]の方は、いま提示してくださった、
「個別にデストラクタ呼んで〜」を実現するために、確保したメモリの近くにこっそり、N * sizeof(type)の N を記憶配置する処理が、newに加わったものと聞いているからです。
delete[]は、この N の書かれたメモリを読んできちんとデストラクタを呼ぶはずです。
そして今newaop.cppを読んでいるのですが、
void operator new[](size_t)
はどうやら、operator new()に処理を丸投げしてるようです。
なので、言語仕様に沿うためにnew[]を作っただけで、実はマイクロソフトのnew()は万能かもしれないという予想ができました。
■ このスレッドは過去ログ倉庫に格納されています