問題タブ [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.
c# - インターフェイス型を明示的に設定する代わりに、型宣言に var を使用する
私がこれを考えすぎているかどうかはわかりませんが、過去に、クラスを宣言するときに次のようなことをしました:
ジャンプするmyService
と、IMyService
インターフェイスに移動します。
ただし、次のことを行うと (明らかに) に移動しますMyService
。
どちらが「正しい」使用法と見なされますか、またはこれは「お気に入りのアイスクリームのフレーバーは何ですか?」の別の例です。?
最も関連性の高い質問を見てきましたが、実際には私のシナリオには答えていません。
c - Visual Studio / MicrosoftのCコンパイラに、最初のステートメントの後に変数宣言を許可するように指示するにはどうすればよいですか?
GNUARMコンパイラでコンパイルするコードがありますが、VisualStudio2010でエラーが発生します。この問題には、C言語ファイルの最初のステートメントの後に変数を宣言することが含まれます。
main.c
次のコードはエラーなしでコンパイルされます。
Win32コンソールプロジェクトの作成にデフォルト設定を使用しています。「Compileas」プロパティを「CompileasC++(/ TP)」に設定すると、一部のVisualStudioヘッダーファイルでコンパイルエラーが発生します。(プロジェクトを右クリックし、[プロパティ] → [構成プロパティ] → [ C / C ++ ] → [詳細設定]を選択します)。
Visual Studio 2010に、C ++や現在のC言語標準など、最初のステートメントの後に変数宣言を許可するように指示するにはどうすればよいですか?
scheme - スキームでの厳密な変数宣言
Scheme Lisp は lib を提供しますか? perlの「厳密な」変数宣言に似ていますか?
c - Cのint*ptrとint*ptrの違いは何ですか?
私はCでかなり新しいので、次の2つの変数宣言の違いがわかりません。
int* ptr;
宣言では、ptr
の値は変更できませんが、宣言では変更できると思いますが、int *ptr;
それかどうかはわかりませんが。
2つの宣言の背後にある概念は何ですか?
c++ - C++、「if」式での変数宣言
何が起きてる?
2003 規格のセクション 6.4.3 では、選択ステートメントの条件で宣言された変数が、条件によって制御されるサブステートメントの末尾まで拡張されるスコープを持つ方法について説明しています。しかし、宣言の周りに括弧を入れることができないことや、条件ごとに宣言が 1 つしかないことについて何も言っていないところがわかりません。
この制限は、条件で 1 つの宣言のみが必要な場合でも煩わしいものです。このことを考慮。
x を false に設定して 'if'-body スコープに入りたい場合は、宣言に括弧が必要です (代入演算子は論理 OR よりも優先順位が低いため)。ただし、括弧を使用できないため、外側で x を宣言する必要があります。その宣言を、必要以上の範囲にリークします。明らかにこの例は簡単ですが、より現実的なケースは、a と b がテストする必要がある値を返す関数である場合です。
それで、私がやりたいことは標準に準拠していないのでしょうか、それともコンパイラが私のボールを壊しているだけですか(VS2008)?
c++ - 「if」式のフォローアップでの変数宣言
これは C++ のフォローアップであり、'if' 式での変数宣言です。
ルールは(私が知る限り)次のとおりです。
- 式ごとに宣言できる変数は 1 つだけです
- 変数宣言は式の最初になければなりません
- 直接初期化構文ではなく、コピー初期化構文 を使用する必要があります
- 宣言を括弧で囲むことはできません
この答えによれば、1と2は理にかなっていますが、3と4の理由はわかりません。他の人はできますか?
objective-c - @implementationで変数を宣言する
私はこのコードを示す本の例を見ました:
でこれを宣言してみません@interface
か?@implementation
の代わりに変数を宣言することの違いは何@interface
ですか?NSString
なぜこれをスコープで宣言するのですか?
c++ - ループ内での変数の宣言、良い習慣か悪い習慣か?
質問 #1:ループ内で変数を宣言することは良い習慣ですか、それとも悪い習慣ですか?
パフォーマンスの問題があるかどうかについて他のスレッドを読んだことがあります (ほとんどの人は「いいえ」と言っていました)。私が疑問に思っているのは、これを避けるべきかどうか、または実際に優先するかどうかです。
例:
質問 #2:ほとんどのコンパイラは、変数が既に宣言されていることを認識してその部分をスキップするだけですか? それとも、実際に毎回メモリ内にスポットを作成しますか?
c - whileループ内の変数宣言C/C ++
私によると、whileループは無限であるはずですが、実行されるのは3回だけです。
出力します99..99..99
しかし、私によれば、制御がwhileループに入るたびに、値100を取得するため、無限に実行されるはずです。したがって、ゼロに達することはありません。実験するために、whileループの内側に置き換えましint i=100;
たが 、今では無限に実行されます。i=100;
java - オブジェクト参照型(動的バインディング)に問題がありますか?
基本的に私はここで少し問題を抱えています。
スーパークラスとサブクラスがあります。スーパークラスのメソッドをオーバーライドするサブクラスのメソッドを実行する割り当てを行うことになっています。これは正常に機能します。私が抱えている問題は「動的バインディング」です。サブクラスと同じクラスの参照変数型を宣言すると、正常に機能します。ただし、型がスーパークラスであると宣言すると、サブクラスのメソッドが存在することすら認識されません。
これが例です。ShipというクラスとBabyShipというShipの別のサブクラスがあります
ShippyShipの参照を次のように宣言した場合:
正常に動作します。しかし、私がそれを次のように宣言すると:
subrefのタイプをShipと宣言した場合、コンパイラはBabyShipのメソッドを認識しません...しかし、私の本はそれが必要であると明確に述べています。なぜこれをしているのですか?
コンパイルすると、通常のシンボルが見つからないというエラーが発生します。