この質問に対するドロンの答えについて話し合っていたところ、
[one] はおそらく、C++ 標準ライブラリが内部で malloc を使用するために new を定義していることに気付くでしょう。
これが本当かどうか疑問に思っています。C++ 標準はnew使用を定義していますmallocか?
この質問に対するドロンの答えについて話し合っていたところ、
[one] はおそらく、C++ 標準ライブラリが内部で malloc を使用するために new を定義していることに気付くでしょう。
これが本当かどうか疑問に思っています。C++ 標準はnew使用を定義していますmallocか?
C ++標準はmallocを使用するために新しいものを定義していますか?
C ++標準( C ++言語を定義する標準ドキュメントを意味します)はoperator new、に関して定義していませんmalloc()。ただし、 C++標準ライブラリのほとんどの実装malloc()がメモリの割り当てに使用することはもっともらしいです。
C ++11規格の18.6.1.1/4項による(約operator new):
デフォルトの動作
- ループを実行します。ループ内で、関数は最初に要求されたストレージの割り当てを試みます。試行に標準Cライブラリ関数の呼び出しが含まれるかどうか
mallocは指定されていません。
C++ 標準では、malloc を使用するために new が定義されていますか?
いいえ、多くの実装はデフォルトのnew実装に対してそれを行いますが ( と に分離されたヒープを提供することはあまり意味がありませんmalloc) new。
また、によって使用されるアロケータ関数はカスタマイズ可能です (§3.7.4.1 を参照)。そのため、特定の実装であっても、malloc`newを仮定するのは特に間違っています。new' will always call
いいえ、mallocメモリを割り当てるだけです。ただし、newメモリを割り当て、コンストラクターを呼び出します(必要な場合)。
あなたの実装のある部分で、メモリアロケータのようなメカニズムnewを見つけるかもしれません。malloc
mallocコンストラクタを認識しておらず、メモリのチャンクを宣言するよりも少し余分に必要なので、そうは思いません