問題タブ [new-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1296 参照

.net - Int32^ i = gcnew Int32() はマネージド ヒープに割り当てられていますか?

基本的に と の違いを知りたい
Int32^ i = gcnew Int32();
です
Int32* i2 = new Int32();

私は次のコードを書きました:

次の出力が得られます。

2 つの整数が 2 つの異なるメモリ位置に割り当てられているようです。

gcnew Int32()はマネージド ヒープに割り当てられていますか? またはスタックに直接?

0 投票する
3 に答える
526 参照

c++ - delete[] は、変更された new-ed ポインターを提供しました。未定義の動作?

ピア コード レビュー セッション中に、次のようなコードを見ました。

まず、標準 C++ では、配列サイズの 1 つ前を指すことは問題ありませんが、アクセスすると未定義の動作が発生することを知っています。だから、最後の行*s++='\0'は大丈夫だと思います。しかし、私の記憶が正しければ、C++ 標準では、返さdeleteれたのと同じポインターを提供する必要があると規定されています。new

これは、返されたポインターが改ざんされてはならないことを意味すると私は信じています。new使用する可能性のある返されたアドレスの前にハウスキーピング情報を保持する可能性があるためだと思いdeleteます。new'd ポインターを移動すると、これにアクセスできなくなる可能性があります。

それは未定義の動作ですか、それとも実装定義または未指定ですか? 誰でもこれを確認できますか?できれば、C++ 標準の正しい場所を指すことによって。

ドラフト C++ 標準 (Draft_SC22-N-4411.pdf) の自由に利用できるドラフト バージョンでは、セクション 5.3.5 に詳細が記載されています。Bjarneさんのホームページから頂きました。

0 投票する
2 に答える
46382 参照

vb.net - VB でパラメーターを持つサブ new (コンストラクター) を継承できますか?

以下のコードでは、コンパイル エラーが発生します。

Dim TestChild As ChildClass = New ChildClass("c")TestChild.Method1()どちらも継承元の基本クラスにありますが、受け取りません。

子クラスを次のように変更できます。

以下で提案されているように、方法 1 やその他の継承されたメソッドではそれを行う必要はなく、可能な限りクリーンなコードを探しています。これは、パラメーター化された New ステートメントを継承するシステムの制限である可能性がありますが、どこにも文書化されていません。それが必要な場合は、ドキュメントを参照したいと思います。

0 投票する
9 に答える
9575 参照

c++ - New の代わりに Malloc を使用する場合

重複:どのような場合に malloc と new を使用しますか?

この質問を読み直してください:
C++ の "new" と "malloc" と "calloc" の違いは何ですか?

私は答えをチェックしましたが、誰も質問に答えませんでした:

  • new の代わりに malloc を使用するのはいつですか?

理由はいくつかあります(2つ考えられます)。
一番上に浮かび上がらせてください。

0 投票する
11 に答える
16722 参照

c++ - C++: calloc のように動作する新しい呼び出し?

newのようにメモリをゼロにするために行うことができる呼び出しはありcallocますか?

0 投票する
5 に答える
2198 参照

javascript - JavaScript で、パラメーターの値をリストするのではなく、値の配列を使用してオブジェクトを構築するにはどうすればよいですか?

これは可能ですか?さまざまなタイプのファクトリを駆動する単一の基本ファクトリ関数を作成しています (ただし、いくつかの類似点があります)。引数を配列として基本ファクトリに渡し、引数を入力する新しいオブジェクトのインスタンスを作成できるようにしたいと考えています。配列を介した関連クラスのコンストラクター。

JavaScript では、apply メソッドを使用して、配列を使用して複数の引数を持つ関数を呼び出すことができます。

とにかく適用を使用してオブジェクトのインスタンスを作成する方法があるようには見えませんが、ありますか?

次のようなもの (これは機能しません):

0 投票する
1 に答える
368 参照

wxwidgets - 「new」キーワードを使用した wxWidgets

wxWidgets の場合、なぜ次のように言う必要があるのですか?

それ以外の:

2つの違いは何ですか?2 番目の方が読みやすく、使いやすいですが、すべての例で最初のものを使用しているため、その理由は何なのか疑問に思いました。

明確にするために、2 番目のバージョンが機能しないことはわかっていますが、2 番目の形式ではなく最初の形式を使用する必要がある特定の設計上の決定があるかどうか疑問に思っています。ティア。

0 投票する
5 に答える
499 参照

c++ - 何が問題なのか:char * param = new char [200];

私はC++でプログラムを書いていますが、何らかの理由で次の行でセグメンテーションエラーが発生しています。

私はさまざまなバリエーションを試し、その前に置くことさえ試みました

同じエラーが発生します。この問題を引き起こすために私は何をしたでしょうか?

このような単純なメモリ割り当てが問題を引き起こす可能性があります。

プログラムの残りの部分を含めますが、1000行を超えています。ただし、詳細についてはお気軽にお問い合わせください。

0 投票する
6 に答える
53235 参照

winapi - VirtualAllocとHeapAllocの違いは何ですか?

、、、などVirtualAlloc、 Windows環境でメモリを割り当てる方法はたくさんあります。HeapAllocmallocnew

したがって、それらの違いは何ですか?