問題タブ [default-constructor]

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 投票する
8 に答える
1688 参照

c++ - C++ で空のプライベート コンストラクターに対してのみ宣言を使用するのは正しいですか?

たとえば、これは正しいです:

または、定義を提供する必要があります。

? 現在の回答をありがとう。この質問を拡張してみましょう - コンパイラは、この例の 1 つでより良いコードを生成しますか? ctor に本体を提供すると、コンパイラがコンパイル単位にいくつかの(空の)コードを強制的に含めると想像できますか?これは自動生成コードにも当てはまりますか?

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

c++ - 初期化子リストを使用したデフォルトの構築のオーバーロード

何かを機能させる方法を知る必要があります。コンストラクターと初期化子リストで初期化されたいくつかの定数を持つクラスがあります。私が望むのは、いくつかの追加のパラメーターを受け取りながらも初期化子リストを使用する別のコンストラクターを作成できるようにすることです。そのようです:

まったくひどい例ですが、要点はわかります。質問は、どうすればこれを機能させることができますか?

0 投票する
4 に答える
8281 参照

java - Java:デフォルトコンストラクタなしでジェネリッククラスをインスタンス化する

私はこれをやろうとしています:

ジェネリックスのインスタンス化はそれなりに難しいですが、これをさらに難しくしているのは、Tここにはデフォルトのコンストラクターがなく、コンストラクターで単一のintパラメーターを使用することです。

これはどのように行うことができますか?


ここでもフォローアップの質問をしました。それにもお答えいただければ幸いです。

この質問は関連していますが、クラスにデフォルトのコンストラクターがあると想定される場合にのみ関連します。

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

c# - デフォルトのコンストラクターを使用してInterfaceProxyWithoutTargetを作成します

Castle.DynamicProxyを使用して、「単に」Interface-Proxy-Without-Targetを取得したいのですが、...デフォルトのコンストラクターを使用しているため、プロキシタイプを再利用できます。

アップデート

私は次のようなことをすることを意味します...

...生成された型がdefault-constructorを実装しないことを除いて。

私の実際のコンテキストはWCFのカスタマイズに関連していますが、それは別の話です。

0 投票する
4 に答える
207 参照

c++ - CS2512の正しい控え方

次の問題で私を助けてください:

私は次のクラスを持っています:

実装は明らかです。コードの重複を最小限に抑えるために、Init メソッドを使用して CombinationRule を初期化するつもりでした。残念ながら、各コンストラクターで「メンバー初期化リスト」を使用しないと、コンパイラーは「エラー C2512: 'ChemicalElement': 適切なデフォルト コンストラクターがありません」というエラーを出します。デフォルトのコンストラクターまたはメンバー初期化リストを使用する代わりに、このエラーを解決するエレガントな方法はありますか? ところで: クラス定義に他の問題がある場合は、それも追加してください。私は C++ を再検討しているので、それらに注意したいと思います。

0 投票する
8 に答える
5583 参照

java - 他のコンストラクターがない場合に、既定のコンストラクターを明示的にコーディングする理由はありますか?

私は最近、クラスでこのコンストラクターを見ました:

他のコンストラクターはありませんでした。

これには理由がありますか?Java はデフォルトのコンストラクターを自動的に作成するのに、なぜそれを明示的に宣言するのでしょうか? それとも、単一ステートメントの if ステートメントに中括弧を使用するのと同じように、これは良い習慣と見なされますか?後で他のコンストラクターが追加され、デフォルトがないことを忘れた場合に備えて...?

0 投票する
4 に答える
448 参照

c# - 配列のデフォルトコンストラクタがここで呼び出されないのはなぜですか?

デフォルトのコンストラクターがここで呼び出されないのはなぜですか?私は何を間違っていますか?

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

c++ - STLマップで値として使用されるクラスが...でデフォルトのコンストラクターを必要とするのはなぜですか?

以下は、マップの値として使用されるクラスです。

main()内:

エラーの原因となるステートメントは次のとおりです。

デフォルトのコンストラクターを追加しても、エラーは表示されません。しかし、なぜ必要なのかわかりません。誰か説明できますか?を使用insert()しても問題は発生しません。

ちなみに、私はVisual C++2008を使用してコンパイルしています。

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

c++ - コンパイラがコンストラクタのBOOST_CHECK_THROWについて文句を言う

以下はコンパイルされません。

Barの実装は重要ではありません。コンパイラは、Fooに適切なデフォルトコンストラクタがない(VC ++ 2005)と文句を言います。デフォルトのコンストラクターを追加すると、それが機能し、実際に呼び出されます。このステートメントにデフォルトのコンストラクターが必要なのはなぜですか?

0 投票する
4 に答える
18871 参照

c++ - std :: vectorの要素にデフォルトのコンストラクターが必要ないのはなぜですか?

また、要素にデフォルトのコンストラクターを必要としないように、独自の配列クラスを作成するにはどうすればよいですか?現在、スペースを割り当てるためにnew []を実行するときは、デフォルトのコンストラクターが必要です。

std::vectorはしません。

彼らはどのようにこの魔法をしますか?