問題タブ [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 - .NET での型の解決方法とインスタンス化方法を変更できますか?
一部の言語では、「new」キーワードをオーバーライドして、型のインスタンス化方法を制御できます。これを .NET で直接行うことはできません。ただし、たとえば、「タイプが見つかりません」例外を処理し、そのタイプを「新しく」作成した人が爆発する前にタイプを手動で解決する方法があるかどうか疑問に思っていましたか?
私は、xml ベースのファイルを読み取り、その中に記述されている型をインスタンス化するシリアライザーを使用しています。シリアライザーを制御することはできませんが、できれば独自の appdomain ホストを作成せずに、プロセスと対話したいと考えています。
別のシリアル化方法を提案しないでください。
c++ - どのような場合にmallocおよび/またはnewを使用しますか?
C ++では、データを割り当てて解放する方法が複数あることがわかります。電話をかけるときmalloc
は電話をかけ、演算子free
を使用するときnew
はペアリングする必要がdelete
あり、2つを組み合わせるのは間違いです(たとえば、free()
作成されたものを呼び出す)new
演算子を使用)が、実際のプログラムで/をいつ使用する必要があるのか、および/をいつ使用する必要があるのかが明確ではありませmalloc
んfree
。new
delete
C ++の専門家の方は、この点に関して従う経験則や規則を教えてください。
c++ - 「新しい配置」にはどのような用途がありますか?
C++ の「placement new」を使用したことがある人はいますか? もしそうなら、何のために?メモリマップされたハードウェアでのみ役立つように思えます。
c++ - C++ で「new」の戻り値をテストすることは有用ですか?
通常、C++ で new のテストを目にすることはありませんが、その理由を知りたいと思っていました。
Foo *f = new Foo;
// f is assumed as allocated, why usually, nobody test the return of new?
javascript - {} または new Object() を使用して JavaScript で空のオブジェクトを作成しますか?
JavaScript で空のオブジェクトを作成するには、次の2 つの方法があります。
スクリプト エンジンがそれらを処理する方法に違いはありますか? どちらか一方を使用する理由はありますか?
同様に、別の構文を使用して空の配列を作成することもできます。
c# - C#new[]の使用
の使用について質問がありnew[]
ます。
これを想像してみてください:
SomePropertyが文字列の配列を期待する場合。
このコードスニペットが機能することはわかっています。しかし、私はそれが内部で何をするのか知りたいです。new[]
クラスのインスタンスを作成し、そのobject
中で自動的にオブジェクトSomeProperty
に変換しますか?string
ありがとう
new-operator - 経験豊富な PHP 開発者にとって適切な GUI プログラミング言語は何ですか?
私はしばらく PHP を使用しており、Windows デスクトップ ベースの GUI アプリケーションについて学習したいと考えています。C# や Visual Basic に似たものがいいのですが、PHP のようなオープンな言語を学びたいと思っています。
高価なコンパイラを必要とするものや、スタンドアロン アプリケーションを作成できないものは提案しないでください。
c++ - 動的メモリ割り当て障害の回復
私は組み込みプロセッサ (400 MHz Intel PXA255 XScale) に取り組んでいますが、「新しい」操作を満たすのに十分なメモリがないケースが 1 つあると思いました。プログラムはクラッシュしなかったので、他のスレッドがメモリを解放したと推測しましたが、これは一時的なものでした。これは非常に重要なコードであるため、終了することはできず、何らかのエラーをリモート ユーザーに返す必要があります。
問題を解決するには、次の小さな修正で十分でしょうか、それとももっと良い方法がありますか? すべての 'new' を次のコードに置き換える前に、質問したいと思いました。
睡眠は役に立ちますか?再試行の最大回数を設定する必要がありますか? どこでも静的初期化を使用できますか?
最終更新:有益な回答をありがとうございましたが、メモリ割り当ての失敗をチェックするコードにエラーがあったことが判明しました。私はこれらの答えをすべて心に留めておき、できるだけ多くの malloc と new を置き換えます (特にエラー処理コードで)。
c# - nullのC#new()初期化をチェックしていますか?
Kodersでこのコードを見つけました:
疑問に思っていますが、トリガーできる方法はありますか?Debug.Assert(serviceProvider != null
私はnew
、例外によってのみ中止できるという印象を受けています。その場合、アサートに到達することはありません。