C++での利用
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/02 03:24 UTC 版)
C++でもmalloc関数は利用できるが、この利用は後述の問題を引き起こすため推奨されない。C++では言語の機能としてnew演算子、delete演算子が用意されている。mallocで確保したメモリ領域に対してdeleteしたり、逆にnewで確保した領域をfreeしたりすると結果は未定義となる。mallocによって生まれたポインタとnewによって生まれたポインタの混在はバグの温床であり、また、new/delete演算子と違い、malloc/free関数ではクラスのコンストラクタとデストラクタが呼ばれないという違いもあり、C++でのmallocは禁じ手の扱いである。
※この「C++での利用」の解説は、「malloc」の解説の一部です。
「C++での利用」を含む「malloc」の記事については、「malloc」の概要を参照ください。
- C での利用のページへのリンク