問題タブ [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.
.net - Int32^ i = gcnew Int32() はマネージド ヒープに割り当てられていますか?
基本的に と の違いを知りたい
Int32^ i = gcnew Int32();
です
Int32* i2 = new Int32();
私は次のコードを書きました:
次の出力が得られます。
2 つの整数が 2 つの異なるメモリ位置に割り当てられているようです。
gcnew Int32()はマネージド ヒープに割り当てられていますか? またはスタックに直接?
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さんのホームページから頂きました。
vb.net - VB でパラメーターを持つサブ new (コンストラクター) を継承できますか?
以下のコードでは、コンパイル エラーが発生します。
でDim TestChild As ChildClass = New ChildClass("c")
。TestChild.Method1()
どちらも継承元の基本クラスにありますが、受け取りません。
子クラスを次のように変更できます。
以下で提案されているように、方法 1 やその他の継承されたメソッドではそれを行う必要はなく、可能な限りクリーンなコードを探しています。これは、パラメーター化された New ステートメントを継承するシステムの制限である可能性がありますが、どこにも文書化されていません。それが必要な場合は、ドキュメントを参照したいと思います。
c++ - New の代わりに Malloc を使用する場合
重複:どのような場合に malloc と new を使用しますか?
この質問を読み直してください:
C++ の "new" と "malloc" と "calloc" の違いは何ですか?
私は答えをチェックしましたが、誰も質問に答えませんでした:
- new の代わりに malloc を使用するのはいつですか?
理由はいくつかあります(2つ考えられます)。
一番上に浮かび上がらせてください。
c++ - C++: calloc のように動作する新しい呼び出し?
new
のようにメモリをゼロにするために行うことができる呼び出しはありcalloc
ますか?
javascript - JavaScript で、パラメーターの値をリストするのではなく、値の配列を使用してオブジェクトを構築するにはどうすればよいですか?
これは可能ですか?さまざまなタイプのファクトリを駆動する単一の基本ファクトリ関数を作成しています (ただし、いくつかの類似点があります)。引数を配列として基本ファクトリに渡し、引数を入力する新しいオブジェクトのインスタンスを作成できるようにしたいと考えています。配列を介した関連クラスのコンストラクター。
JavaScript では、apply メソッドを使用して、配列を使用して複数の引数を持つ関数を呼び出すことができます。
とにかく適用を使用してオブジェクトのインスタンスを作成する方法があるようには見えませんが、ありますか?
次のようなもの (これは機能しません):
wxwidgets - 「new」キーワードを使用した wxWidgets
wxWidgets の場合、なぜ次のように言う必要があるのですか?
それ以外の:
2つの違いは何ですか?2 番目の方が読みやすく、使いやすいですが、すべての例で最初のものを使用しているため、その理由は何なのか疑問に思いました。
明確にするために、2 番目のバージョンが機能しないことはわかっていますが、2 番目の形式ではなく最初の形式を使用する必要がある特定の設計上の決定があるかどうか疑問に思っています。ティア。
c++ - 何が問題なのか:char * param = new char [200];
私はC++でプログラムを書いていますが、何らかの理由で次の行でセグメンテーションエラーが発生しています。
私はさまざまなバリエーションを試し、その前に置くことさえ試みました
同じエラーが発生します。この問題を引き起こすために私は何をしたでしょうか?
このような単純なメモリ割り当てが問題を引き起こす可能性があります。
プログラムの残りの部分を含めますが、1000行を超えています。ただし、詳細についてはお気軽にお問い合わせください。
winapi - VirtualAllocとHeapAllocの違いは何ですか?
、、、などVirtualAlloc
、 Windows環境でメモリを割り当てる方法はたくさんあります。HeapAlloc
malloc
new
したがって、それらの違いは何ですか?