問題タブ [explicit]

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 に答える
350 参照

c# - 構造体の場合、C# でコンストラクターを明示的に呼び出す必要がありますか?

構造体についての質問です。構造体型の変数/オブジェクト (どちらが適しているかわからない) または構造体の配列またはリストを宣言するとき、オブジェクトのように明示的にコンストラクターを呼び出す必要がありますか、それとも変数のように宣言するだけで十分ですか?

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

c++ - デフォルト値を持つ単一の引数コンストラクターは、暗黙的な型変換の対象になりますか?

単一の引数コンストラクター、または最初の引数のみにデフォルト値がない複数の引数を持つコンストラクターで発生する可能性のある暗黙的な型変換を回避するための明示的なキーワードの使用を理解しています。

しかし、私は疑問に思っていました。暗黙の変換に関しては、デフォルト値を持つ単一の引数コンストラクターは、デフォルト値がないものと同じように動作しますか?

0 投票する
10 に答える
1831 参照

c++ - Foo f = Foo(); // 'Foo::Foo(Foo)' の呼び出しに一致する関数がありません ... え?

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

c# - 他のインターフェイスから継承するインターフェイスの明示的なC#インターフェイスの実装

次の3つのインターフェイスについて考えてみます。

ここで、IInterface1とIInterface2の両方を実装する次のクラスについて考えてみます。

SomeEventはIInterface1またはIInterface2の一部ではなく、IBaseInterfaceの一部であるため、これによりエラーが発生します。

クラスFooはIInterface1とIInterface2の両方をどのように実装できますか?

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

actionscript-3 - 変数を明示的に入力すると、コンパイラは組み込み型のインスタンスにプロパティがないと見なします。

AS3コンパイラエラー1119の原因を、次のようなコードに絞り込みました。

「1119:静的タイプNumberの参照を介した未定義のプロパティコンストラクターへのアクセス」というエラーが発生します。

ここで、変数の型を省略しても、そのエラーは発生しません。

期待される出力を生成します。

それで、取引は何ですか?変数を明示的に入力するのが好きなので、変数の型を指定しない以外にこのエラーを解決する方法はありますか?

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

c++ - 明示的なデフォルトコンストラクタの目的

最近、明示的なデフォルトコンストラクターを必要とするC++0xのクラスに気づきました。ただし、デフォルトのコンストラクターを暗黙的に呼び出すことができるシナリオを思い付くことができません。それはかなり無意味な指定子のようです。Class c;多分それは賛成することを許さないだろうと思っClass c = Class();たが、そうではないようだ。

C ++ 0x FCDからのいくつかの関連する引用は、ナビゲートしやすいためです[同じ場所にない場合でも、同様のテキストがC++03に存在します]

12.3.1.3 [class.conv.ctor]

デフォルトのコンストラクターは、明示的なコンストラクターの場合があります。このようなコンストラクターは、デフォルトの初期化または値の初期化(8.5)を実行するために使用されます。

明示的なデフォルトコンストラクターの例を引き続き提供しますが、上記で提供した例を模倣しているだけです。

8.5.6 [decl.init]

デフォルトで-タイプTのオブジェクトを初期化するということは、次のことを意味します。

— Tが(おそらくcv修飾された)クラスタイプの場合(第9節)、Tのデフォルトコンストラクターが呼び出されます(Tにアクセス可能なデフォルトコンストラクターがない場合、初期化は不正な形式になります)。

8.5.7 [decl.init]

タイプTのオブジェクトを値初期化するということは、次のことを意味します。

— Tがユーザー提供のコンストラクター(12.1)を持つ(おそらくcv修飾された)クラスタイプ(条項9)の場合、Tのデフォルトコンストラクターが呼び出されます(Tにアクセス可能なデフォルトコンストラクターがない場合、初期化は不正な形式になります) );

どちらの場合も、標準ではデフォルトのコンストラクターが呼び出される必要があります。しかし、それは、デフォルトのコンストラクターが非明示的である場合に起こることです。完全を期すために:

8.5.11 [decl.init]

オブジェクトに初期化子が指定されていない場合、オブジェクトはデフォルトで初期化されます。

私の知る限り、これはデータなしからの変換を残すだけです。これは意味がありません。私が思いつくことができる最高のものは次のとおりです。

しかし、明らかにそれはC++がデフォルトの引数を処理する方法ではありません。他に何がexplicit Class();違う振る舞いをするのでしょうClass();か?

この質問を生成した特定の例は、std::function[20.8.14.2func.wrap.func]でした。いくつかの変換コンストラクターが必要であり、いずれも明示的にマークされていませんが、デフォルトのコンストラクターはです。

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

c++ - 明示的な型変換

私はこれを指定する本を読みました:

「キャストは強力ですが、状況によっては、コンパイラがデータを実際よりも大きいかのように処理するように強制されるため、頭痛の種になる可能性があります。そのため、データはメモリ内でより多くのスペースを占有します。これにより、他のデータが踏みにじられる可能性があります。 。これは通常、上記のような単純なキャストを作成するときではなく、ポインタをキャストするときに発生します。」

では、キャストポインタが他のデータを踏みにじることができる例を教えてください。

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

c# - 変換演算子を使用した型キャストコレクション

以下のコードは、ユーザー定義の変換は囲み型との間で変換する必要がありますが、スニペット#2は変換しないことを示しています...ユーザー定義の変換ルーチンは、ルーチンを含むクラスとの間で変換する必要があるようです。

私の選択肢は何ですか?拡張メソッドとしての明示的な演算子?他に何か?

スニペット#2

前もって感謝します!

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

sql-server - FOR XML AUTO を使用したテーブル変数出力のフォーマット

SQL Server 2008 を使用しています。

単一の列と単一の行を持つテーブル変数があります。

私がこれを行う場合:

次のような XML を取得します。

私が実際に欲しいのは:

行ソースがテーブルの場合、問題なく動作するようです。それがテーブル変数の場合、子要素のラベルを取得したくtestsToRunありません_x0040_testsToRun

FOR XML ステートメント/句を修正して適切な出力を得るにはどうすればよいですか?

ありがとう。

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

generics - F#: 演算子バインディングの明示的な型パラメーター

明示的な型パラメーターと制約を使用して演算子を定義しようとしています:

F# 2.0 では問題なく動作しますが、次の結果が生成されます。

警告 FS1189:
型パラメーターは型名のすぐ隣に配置する必要があります。たとえば、型 "C<'T>" ではなく、"type C<'T>" です。

では、演算子定義の明示的な型引数指定を行う正しい方法は何ですか?

ps 暗黙の型パラメーターやその他の回避策について教えてください。この問題を具体的に解決したいのです。