新規オペレーターと新規オペレーター: より詳しく見る
「新規オペレーター」と「新規オペレーター」は、同じ意味でよく使用されますが、異なる役割を持っています。 C のメモリ管理。
演算子New
演算子 new は、空きストアから生のメモリを割り当てる関数です。これは低レベルであり、概念的には malloc() に似ています。ただし、通常はカスタム コンテナー内で直接使用されるか、特定のシナリオで使用されます。演算子 new は次のように明示的に呼び出すことができます:
char *x = static_cast<char *>(operator new(100));
さらに、演算子 new は次のシグネチャを使用してグローバルまたは個別のクラスに対してオーバーロードできます:
void *operator new(size_t);
New Operator
一方、new 演算子は通常、無料ストア上にオブジェクトを作成するために使用されます。演算子 new とは異なり、単にメモリを割り当てるだけではありません。メモリを割り当て、クラス コンストラクターを呼び出します。これにより、埋め込みオブジェクトや基本クラスから継承されたオブジェクトを含む、完全に初期化されたオブジェクトがメモリ内に作成されます。
my_class *x = new my_class(0);
主な違い
演算子 new と演算子の基本的な違いnew 演算子は、演算子 new が生のメモリを割り当てますが、new 演算子はメモリを割り当てるだけでなく、その場所にあるオブジェクトを初期化します。 new 演算子は、メモリ割り当てについては演算子 new に依存しますが、オブジェクトの初期化は自動的に処理されます。
以上が「operator new」と C の「new」演算子の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。