問題タブ [variable-declaration]

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

c# - インターフェイス型を明示的に設定する代わりに、型宣言に var を使用する

私がこれを考えすぎているかどうかはわかりませんが、過去に、クラスを宣言するときに次のようなことをしました:

ジャンプするmyServiceと、IMyServiceインターフェイスに移動します。

ただし、次のことを行うと (明らかに) に移動しますMyService

どちらが「正しい」使用法と見なされますか、またはこれは「お気に入りのアイスクリームのフレーバーは何ですか?」の別の例です。?

最も関連性の高い質問を見てきましたが、実際には私のシナリオには答えていません。

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

c - Visual Studio / MicrosoftのCコンパイラに、最初のステートメントの後に変数宣言を許可するように指示するにはどうすればよいですか?

GNUARMコンパイラでコンパイルするコードがありますが、VisualStudio2010でエラーが発生します。この問題には、C言語ファイルの最初のステートメントの後に変数を宣言することが含まれます。

main.c

次のコードはエラーなしでコンパイルされます。

Win32コンソールプロジェクトの作成にデフォルト設定を使用しています。「Compileas」プロパティを「CompileasC++(/ TP)」に設定すると、一部のVisualStudioヘッダーファイルでコンパイルエラーが発生します。(プロジェクトを右クリックし、[プロパティ] → [構成プロパティ] → [ C / C ++ ] → [詳細設定]を選択します)。

Visual Studio 2010に、C ++や現在のC言語標準など、最初のステートメントの後に変数宣言を許可するように指示するにはどうすればよいですか?

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

scheme - スキームでの厳密な変数宣言

Scheme Lisp は lib を提供しますか? perlの「厳密な」変数宣言に似ていますか?

0 投票する
5 に答える
16436 参照

c - Cのint*ptrとint*ptrの違いは何ですか?

私はCでかなり新しいので、次の2つの変数宣言の違いがわかりません。

int* ptr;宣言では、ptrの値は変更できませんが、宣言では変更できると思いますが、int *ptr;

それかどうかはわかりませんが。

2つの宣言の背後にある概念は何ですか?

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

c++ - C++、「if」式での変数宣言

何が起きてる?

2003 規格のセクション 6.4.3 では、選択ステートメントの条件で宣言された変数が、条件によって制御されるサブステートメントの末尾まで拡張されるスコープを持つ方法について説明しています。しかし、宣言の周りに括弧を入れることができないことや、条件ごとに宣言が 1 つしかないことについて何も言っていないところがわかりません。

この制限は、条件で 1 つの宣言のみが必要な場合でも煩わしいものです。このことを考慮。

x を false に設定して 'if'-body スコープに入りたい場合は、宣言に括弧が必要です (代入演算子は論理 OR よりも優先順位が低いため)。ただし、括弧を使用できないため、外側で x を宣言する必要があります。その宣言を、必要以上の範囲にリークします。明らかにこの例は簡単ですが、より現実的なケースは、a と b がテストする必要がある値を返す関数である場合です。

それで、私がやりたいことは標準に準拠していないのでしょうか、それともコンパイラが私のボールを壊しているだけですか(VS2008)?

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

c++ - 「if」式のフォローアップでの変数宣言

これは C++ のフォローアップであり、'if' 式での変数宣言です。

ルールは(私が知る限り)次のとおりです。

  1. 式ごとに宣言できる変数は 1 つだけです
  2. 変数宣言は式の最初になければなりません
  3. 直接初期化構文ではなく、コピー初期化構文 を使用する必要があります
  4. 宣言を括弧で囲むことはできません

この答えによれば、1と2は理にかなっていますが、3と4の理由はわかりません。他の人はできますか?

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

objective-c - @implementationで変数を宣言する

私はこのコードを示す本の例を見ました:

でこれを宣言してみません@interfaceか?@implementationの代わりに変数を宣言することの違いは何@interfaceですか?NSStringなぜこれをスコープで宣言するのですか?

0 投票する
9 に答える
202491 参照

c++ - ループ内での変数の宣言、良い習慣か悪い習慣か?

質問 #1:ループ内で変数を宣言することは良い習慣ですか、それとも悪い習慣ですか?

パフォーマンスの問題があるかどうかについて他のスレッドを読んだことがあります (ほとんどの人は「いいえ」と言っていました)。私が疑問に思っているのは、これを避けるべきかどうか、または実際に優先するかどうかです。

例:

質問 #2:ほとんどのコンパイラは、変数が既に宣言されていることを認識してその部分をスキップするだけですか? それとも、実際に毎回メモリ内にスポットを作成しますか?

0 投票する
5 に答える
16830 参照

c - whileループ内の変数宣言C/C ++

私によると、whileループは無限であるはずですが、実行されるのは3回だけです。

出力します99..99..99

しかし、私によれば、制御がwhileループに入るたびに、値100を取得するため、無限に実行されるはずです。したがって、ゼロに達することはありません。実験するために、whileループの内側に置き換えましint i=100;たが 、今では無限に実行されます。i=100;

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

java - オブジェクト参照型(動的バインディング)に問題がありますか?

基本的に私はここで少し問題を抱えています。

スーパークラスとサブクラスがあります。スーパークラスのメソッドをオーバーライドするサブクラスのメソッドを実行する割り当てを行うことになっています。これは正常に機能します。私が抱えている問題は「動的バインディング」です。サブクラスと同じクラスの参照変数型を宣言すると、正常に機能します。ただし、型がスーパークラスであると宣言すると、サブクラスのメソッドが存在することすら認識されません。

これが例です。ShipというクラスとBabyShipというShipの別のサブクラスがあります

ShippyShipの参照を次のように宣言した場合:

正常に動作します。しかし、私がそれを次のように宣言すると:

subrefのタイプをShipと宣言した場合、コンパイラはBabyShipのメソッドを認識しません...しかし、私の本はそれが必要であると明確に述べています。なぜこれをしているのですか?

コンパイルすると、通常のシンボルが見つからないというエラーが発生します。