問題タブ [compile-time-constant]

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

java - Java - 静的初期化

私はコードを書きました:

出力は次のとおりです。

get z
子コンストラクタ
子コンストラクタ
get y
get x
z の値は 0
子コンストラクタ
main の z の値は 0

z の値が 10 ではなく 0 である理由を誰か説明してもらえますか?

編集:-皆さん、ありがとうございます。最初の質問に対する回答が得られました。クラスがロードされた後、クラスの最初のオブジェクトがインスタンス化される前に静的ブロックが実行されることを知る限り、私にはまだ疑問があります。それでは、SOP("The value of z is "+z)" は SOP("Child constructor") の前に実行されるべきでした! そうじゃない?

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

c# - C# Visual Studio コンパイラは構造体と NULL の比較をどのように処理しますか?

c#.net 4 コードベースで、このような不適切なコードに遭遇しました。

この状態は決して起こらないと思いました。

コンパイラは、これらの null 非許容の構造体比較をどのように処理しますか?

当初、私たちはそれがコンパイルされることに驚きました...しかし、次のような一定の比較を確実に行うことができるという点で合理化しました:

これも true を解決することはありません...しかし、その場合、コンパイラはそれらが定数であると簡単に判断できます。Null 非許容の比較を最適化またはロールアップしますか?

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

c - 定数間の算術演算

このコードを検討してください。

「差分」の値はコンパイル時に「2」としてハードコードされていますか、それとも実行時に計算されますか?

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

c++ - コンパイル時の値に基づくc++テンプレートの特殊化

テンプレートメタプログラミングへの道をゆっくりと感じており、以下を実装する方法がわかりません。

コンパイル時に、3番目のテンプレートタイプ(コンパイル時不変)がDeadまたはAliveのいずれかの列挙値であることがわかります。次のように、Register関数に2つの本体を定義することは可能ですか?

私は見てきました: 定数値を持つC++テンプレートの特殊化

しかし、私はそれをこの状況に適用する方法を理解することができませんでした。

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

c++ - コンパイル時の配列定数

かなり基本的な何かが欠けているようです。コンパイル時に const 配列メンバーを使用しようとしています。

エラー:

ここに関連するIDEOneリンクがあります

では、なぜこれが機能しないのでしょうか。私は何が欠けていますか?どうすればいいですか?

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

c++ - ヘッダーファイルで定数を宣言して初期化します

私は次の典型的なパラダイムに精通しています。

.hしかし、実装ファイルにアクセスできないライブラリやその他のインスタンスで使用するために、それをファイルに入れる方法が必要です。

たとえば、次のようにXcodeプロジェクトNSStringのファイルに定数を追加しようとしています。.h

ただし、を使用しようとするmyStringと、エラーが発生します

イニシャライザ要素はコンパイル時定数ではありません

onmyStringは、適切にインスタンス化されていないことを示します。C ++またはObjecitve-Cヘッダーファイルでコンパイル時定数をどのように宣言しますか?

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

scala - Scala: コンパイル時定数

Scala でコンパイル時の定数をどのように宣言しますか? C#で宣言する場合

myConst はリテラル 25 としてインライン化されます。

同等または他のメカニズム/構文はありますか?

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

java - int 列挙型パターンがコンパイル時の定数であるとはどういう意味ですか?

これはEffective Javaからのものです

int 列挙型パターンを使用するプログラムは脆弱です。int 列挙型はコンパイル時の定数であるため、それらを使用するクライアントにコンパイルされます。

int enum パターンがコンパイルされた型定数と呼ばれる理由と、クライアントにコンパイルされることの意味を説明できる人はいますか?

このような定数の例を次に示します。

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

c++ - std :: string :: max_sizeがコンパイル時定数ではないのはなぜですか?

std::stringmax_size()含めることができる要素の最大数を決定する方法を提供します。

ただし、一般に文字列の最大長を計算するには、プログラマーは(おそらく空の)文字列オブジェクトを作成する必要があります。

このクラスがプログラマーからの情報を必要としない場合max_size()、コンパイル時定数として使用できないのはなぜですか?文字列が最大サイズを計算するために必要な実行時情報はありますか?

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

actionscript-3 - コンパイル時の動的タイムスタンプを Flash AS3 ムービーに埋め込む方法はありますか?

背景: 実行時にアプリケーションのログイン画面に表示される Flash ドキュメントのバージョン タイムスタンプを手動で更新しています。これは、キャッシュされたバージョンではなく、最新バージョンがブラウザーに読み込まれていることを確認するのに役立ちます。

変数の宣言は次のとおりです。

ドキュメントがフラッシュ IDE でコンパイルされるときに、この値を現在のシステム時刻に自動的に更新する方法はありますか? おそらく、ある種の「コンパイル時変数」を使用します。