問題タブ [instantiation]
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.
c++ - クラス名を保持する文字列からオブジェクトをインスタンス化する方法はありますか?
私はファイルを持っています:Base.h
および別のファイル: BaseFactory.h
この文字列を実際の型 (クラス) に何らかの形で変換して、BaseFactory がすべての可能な派生クラスを知る必要がないようにし、それぞれに if() を持たせる方法はありますか? この文字列からクラスを生成できますか?
これは、Reflection を使用して C# で実行できると思います。C++に似たようなものはありますか?
c++ - クラス定義を宣言から自動的に分離しますか?
次のように、ヘッダー ファイルのテンプレート化されたクラスと関数でほぼ完全に構成されるライブラリを使用しています。
これらのヘッダー ファイルの 1 つをインクルードするたびにコンパイル時間が耐えられないため、これは悪いことです (実際には、各コンパイル ユニットにそれらの多くをインクルードします)。
テンプレート パラメーターとして 1 つまたは 2 つの型しか使用しないため、ライブラリ ヘッダー ファイルごとに、次のような重いコードを含まない宣言のみを含むファイルを作成する予定です。
そして、必要なすべてのインスタンス化を作成する 1 つのファイル。そのファイルは、一度だけ個別にコンパイルできます。
これで、コードにインクルードするだけfwd-foo.h
で、コンパイル時間を短縮できます。最後にリンクしますfoo.o
。
もちろん、欠点は、これらの新しいファイルを自分fwd-foo.h
で作成する必要があることです。foo.cpp
もちろん、これは保守の問題です。新しいライブラリ バージョンがリリースされた場合、それらをその新しいバージョンに適応させる必要があります。他に欠点はありますか?
そして、私の主な質問は次のとおりです。
これらの新しいファイルを、特に元のファイルからfwd-foo.h
自動的に作成できる可能性はありますfoo.h
か? 多くのライブラリヘッダーファイル(おそらく20程度)に対してこれを行う必要があり、特に新しいライブラリバージョンがリリースされ、新しいバージョンでこれを再度行う必要がある場合は、自動ソリューションが最適です。このタスクに使用できるツールはありますか?
編集:
extern
追加の質問:この場合、新しくサポートされたキーワードはどのように役立ちますか?
python - dict() と {} の違いは何ですか?
では、辞書を作りたいとしましょう。と呼びますd
。しかし、Python で辞書を初期化する方法は複数あります。たとえば、私はこれを行うことができます:
または私はこれを行うことができます:
またはこれ、不思議なことに:
またはこれ:
そして、dict()
関数を使用した他の多くの方法。したがって、明らかに提供されるものの 1 つは、dict()
構文と初期化の柔軟性です。しかし、それは私が尋ねていることではありません。
d
空の辞書を作成するとします。d = {}
vsを実行すると、Python インタープリターの舞台裏で何が起こっているのd = dict()
でしょうか? 同じことをするのは単に2つの方法ですか?using{}
には の追加呼び出しがありdict()
ますか? 一方のオーバーヘッドが他方より (ごくわずかでも) 多いですか? 質問は本当にまったく重要ではありませんが、私が答えたいと思っている好奇心です.
javascript - JavaScript 日付オブジェクトをインスタンス化するための構文
JavaScript では、次のいずれかを記述できるようです。
...また:
最初のものは論理的ですが、2番目のものは私には少し変わっているようです.Dateオブジェクトを作成するこれら2つの方法に違いはありますか?2番目の目的は何ですか?
ありがとう、
スティーブ
c# - C#でプライベートコンストラクターを使用してオブジェクトをインスタンス化する方法は?
リフレクションか何かを使用してそうする例をどこかで見たのを確かに覚えています。それはSqlParameterCollection
、ユーザーが作成できないものと関係がありました (私が間違っていなければ)。残念ながら、もう見つけることができません。
誰でもここでこのトリックを共有できますか? それが開発における有効なアプローチだとは考えていませんが、これを行う可能性に非常に興味があります。
java - インターフェイス オブジェクトを必要とするコンストラクターを持つクラスをインスタンス化する方法
Interactive Brokers Java API を使用して、(最初は紙の上で) アルゴリズム取引を実行できるかどうかを確認しようとしています。ReqMktDepth()
というクラスにあるというメソッドを呼び出したいと思いEClientSocket
ます。
コンストラクターは型のEClientSocket
オブジェクトをAnyWrapper
渡す必要がAnyWrapper
あり、具体的なクラスではなくインターフェイスです。AnyWrapper
理論的には、クラスをEClientSocket
コンストラクターに渡すにはどうすればよいですか。
c++ - C ++で初期化する前にオブジェクトを宣言する
インスタンス化せずにC ++で変数を宣言することは可能ですか? 私はこのようなことをしたい:
基本的に、条件の外側を宣言して、適切なスコープを取得したいだけです。
ポインターを使用せずa
にヒープに割り当てる方法はありますか? 多分参照で賢い何か?
c# - C# でのオブジェクトのインスタンス化を理解していない
この投稿は、C# クラスに関する私の理解のギャップと、それらが静的関数よりも優れている理由を説明します。
オブジェクトのリストを取得しようとしています。リスト内の各オブジェクトは、テーブル内のレコードを表します。これは、静的関数で簡単に実行できます。
クラスを使用して、次のようにすることができました。
呼び出しルーチン:
クラス:
これを1行で実行できるようにクラスを書き直すことはできませんでした:
上記の ListofBusinesses クラスは、プロパティを持たず、クラスを持つためだけに存在するクラスにラップされた静的関数にすぎないように思えます。
私は試した:
しかし、「メンバー名はそこに含まれる型と同じにすることはできません」というコンパイラエラーを受け取りました。たとえば、コンストラクターを使用しようとしましたが、何かが不足しています。
何か助けがあれば、私がしばらくの間誤解していた分野で私を啓発するでしょう.
マイク・トーマス