問題タブ [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 投票する
1 に答える
765 参照

c++ - C++ での単純な数式のコンパイル時の最適化

基本的に、配列のすべての要素に定数を追加するコードがあります

行列のスカラー型はunsigned short intです。私が検討している他のいくつかのオプションは次のとおりです。

2 番目の解決策は私には最も読みやすいように見えますが、1 番目のオプションと比較してペナルティを支払う必要があります。コンパイル時にこれを事前計算する標準コンパイラはありますか?

現在 gcc 4.6.3 を使用していますが、古いコードに依存しているため、C++11 は使用していません。

アップデート:

アセンブリ出力に関する私の限られた知識から、コンパイラはそれを最適化していないと言います。-std=c++0x フラグを付けても話は同じです。

アセンブリ出力は次のとおりです。

-std=c++0x フラグを指定して方法 2 を使用する

ハードコーディングされたリテラル(26 行目を参照)

Update2

-O2 フラグを使用すると、-std=c++0x フラグを使用するかどうかに関係なく、同一のアセンブリ ファイルが生成されます。

結論

-O2 などの最適化フラグが適切に機能するため、おそらく Method2 がベスト プラクティスです。また、これらのコードはクラス メンバー メソッドの一部になっているため、初期化されたプライベート const 変数を使用することになりました。std::numeric_limits<MyMatrix::Scalar>::max()/2 + 1

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

c# - メソッド選択のために型への null のキャストが機能するのはなぜですか?

C#への回答によると: オーバーロードされたメソッドに null を渡す - どのメソッドが呼び出されますか? 、ヌルは型情報を運ぶようです。実際、私も使用できます

どの利回り

メソッドの出力 (TypeA a):
メソッドの出力 (TypeB b):

何が起きてる?

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

c# - コンパイル時にジェネリック パラメータの型名を取得するにはどうすればよいですか?

ジェネリッククラスを実装しようとしています。パラメータ型の名前として設定したいコンパイル時の定数を取る属性を持つプロパティが必要です。このようなもの:

ただしtypeof(T).Name、実行時に評価されるため、機能しません。出来ますか?

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

actionscript-3 - 同じワークスペース内の複数のプロジェクトに対して、Flash Builder コンパイラ定数を ONCE に設定する方法を教えてください。

同じワークスペース内の複数のプロジェクトが同じコンパイラ定数値を共有できるように、一部の Flex または AS3 コンパイラ オプションをリンクする方法はありますか?

ここに画像の説明を入力

基本的に、 3 つ以上のプロジェクトでは、「LANG_ENG」と「LANG_FR」をtruefalseに頻繁に変更する必要があります。1 つずつ変更するのではなく、1 つの変更ですべてに影響するソリューションが必要です。

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

c++ - インデックスによって可変個引数テンプレート パラメータ パックから値を抽出する方法は?

magic_getパラメーター パックからインデックスによって値を抽出できる関数を書きたいと思います。次に例を示します。

実装方法はmagic_get

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

c++ - constness のコンパイル時チェック

私に機能があれば

およびいくつかのテンプレート メタ コード

ラッパーを書く方法はありますか