問題タブ [constants]

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

.net - プロパティを使用してディクショナリ内のキーと値のペアを参照するための最良の方法

これはかなり些細なことですが、人々の意見を聞いてみたいと思います。

プロパティを介してアクセスする辞書がある場合、これらの形式のどれをプロパティに使用しますか?

これはおそらくそれを行うための典型的な方法です。かなり効率的で、理解しやすいなどです。唯一の欠点は、キーのスペルを間違えたり、1つのインスタンスなどを変更したりする可能性があるため、キーが長くなったり複雑になったりすることです。

これは少し複雑ですが、安全性が向上しているようで、「コードコンプリート」ソリューションとして私が考えるものに近いものです。欠点は、プロパティの上に///ブロックと[DefaultValue()]ブロックがすでにある場合、そこに少し混雑し始めることです。

では、どちらが好きですか、そしてその理由は何ですか?誰かもっと良いアイデアはありますか?

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

delphi - Delphi 7で、なぜconstに値を割り当てることができるのですか?

あるプロジェクトから別のプロジェクトにDelphiコードをコピーしたところ、古いプロジェクトではコンパイルされたものの、新しいプロジェクトではコンパイルされないことがわかりました。コードは次のようになります。

したがって、新しいプロジェクトでは、Delphiは「左側を割り当てることができない」と文句を言います-理解できます!しかし、このコードは古いプロジェクトでコンパイルされます。だから私の質問は、なぜですか?constsを再割り当てできるようにするコンパイラスイッチはありますか?それはどのように機能しますか?constsはコンパイル時にそれらの値に置き換えられたと思いましたか?

0 投票する
31 に答える
474110 参照

c# - C# の const と readonly の違いは何ですか?

constreadonlyC#の違いは何ですか?

いつどちらを使用しますか?

0 投票する
6 に答える
1156 参照

c++ - 構造体を構築(&N)

特定のケースで const がどのように適用されるかを正確に理解するのに少し苦労しています。ここに私が持っているコードがあります:

基本的に、testというクラスがあります。内部で 4 つのウィジェットを使用しており、これらを返す必要がありますが、test が const と宣言されている場合は、ウィジェットも const を返す必要があります。

main() のコードがコンパイルされる理由を誰かに説明してもらえますか?

どうもありがとうございました。

0 投票する
28 に答える
817191 参照

java - Javaで定数を実装する最良の方法は何ですか?

次のような例を見てきました。

そして、定数をラップするための Constants クラスを用意して、それらを static final と宣言できると仮定しました。私は事実上 Java をまったく知らないので、これが定数を作成する最良の方法であるかどうか疑問に思っています。

0 投票する
6 に答える
22412 参照

c - C で 'char**' を 'const char* const*' に変換できないのはなぜですか?

次のコード スニペットは (正しく) C で警告を出し、C++ でエラーを出します (それぞれ gcc と g++ を使用し、バージョン 3.4.5 と 4.2.1 でテストされています; MSVC は気にしないようです):

私はこれを理解し、受け入れることができます。この問題に対する C++ の解決策は、b を const char * const * に変更することです。これにより、ポインターの再割り当てが禁止され、const-correctness ( C++ FAQ
) を回避できなくなります。

ただし、純粋な C では、(const char * const * を使用して) 修正されたバージョンでも警告が表示され、その理由がわかりません。キャストを使わずにこれを回避する方法はありますか?

明確にするために:
1)なぜこれはCで警告を生成するのですか?これは完全に const セーフである必要があり、C++ コンパイラはそれをそのように認識しているようです。
2) この char** をパラメーターとして受け入れ、それが指す文字を変更しないと言いながら (そしてコンパイラーに強制させる) 正しい方法は何ですか? たとえば、関数を書きたい場合:

そして、char** でそれを呼び出したかったのですが、パラメーターの正しい型は何でしょうか?

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

perl - Perlでハッシュキーとして「定数」を使用する方法はありますか?

定数をハッシュキーとして使用する方法はありますか?

例えば:

上記のコードは、キーとして1ではなく、キーとして「X」を使用してハッシュを作成します。一方、定数Xの値をキーとして使用したいと思います。

0 投票する
11 に答える
2103 参照

c++ - 「get() const」対「getAsConst() const」

チーム内の C++ スタイルの違いについて誰かが教えてくれました。私はこの件に関して私自身の見解を持っていますが、皆さんからの賛否両論興味があります.

そのため、2 つのゲッター (1 つは読み取り/書き込み、もう 1 つは読み取り専用) を介して公開したいクラス プロパティがある場合 (つまり、set メソッドはありません)。少なくとも 2 つの方法があります。

それぞれの方法の長所と短所は何でしょうか?

私は C++ の技術的/意味的な理由にもっと興味がありますが、スタイルの理由も歓迎します。

1 つの大きな技術的欠点があることに注意しMethodBてください (ヒント: 一般的なコードで)。

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

c++ - constメンバー関数のセマンティクスは何ですか?

関数がオブジェクトの状態を変更することは許可されていないことは理解していますが、コンパイラーは、関数が同じ引数で呼び出された場合、同じ値を返し、再利用できると想定できることをどこかで読んだと思います使用可能な場合は、キャッシュされた値。例えば

次に、コンパイラーは2番目の呼び出しを最適化して、レジスターの値を使用するか、単に実行することができます。b = a;

これは本当ですか?

0 投票する
31 に答える
322492 参照

c++ - 関数パラメーターに「const」を使用

あなたはどこまで行きconstますか?必要なときに関数を作成するだけconstですか、それともすべてを独り占めしてどこでも使用しますか? たとえば、単一のブール値パラメーターを取る単純なミューテーターを想像してください。

それはconst実際に役に立ちますか?個人的にはパラメータも含めて多用したいのですが、この場合は割に合うのでしょうか?

また、関数宣言のパラメーターから省略できることを知って驚きましたconstが、関数定義に含めることができます。次に例を示します。

.h ファイル

.cpp ファイル

これには理由がありますか?私には少し珍しいようです。