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

c# - C# - この宣言された文字列は const として扱われますか?

ここで議論を解決するのを手伝ってください。

これは:

これとまったく同じように扱われます:

すなわち。文字列 s が const であることを具体的に述べれば、違いはありますか。

そして、もしそれが同じように扱われなければ、なぜですか?

0 投票する
14 に答える
437613 参照

ios - Objective-Cの定数

私はCocoaNSStringアプリケーションを開発しており、好みのキー名を保存する方法として定数sを使用しています。

必要に応じてキーを簡単に変更できるので、これは良い考えだと思います。
さらに、それは「ロジックからデータを分離する」という概念全体です。

とにかく、これらの定数をアプリケーション全体に対して一度定義する良い方法はありますか?

簡単でインテリジェントな方法があると確信していますが、今のところ、私のクラスは使用するクラスを再定義するだけです。

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

c++ - const set& の問題。コンパイラ/STL のバグまたは移植性のない使用法?

家に語学弁護士はいますか?

次のコードはコンパイルする必要がありますか?

プラットフォームの 1 つ (Sun Workshop) では、これはコンパイルされません。これは、find 関数が iterator を返し、end 関数が const_iterator を返したこと、およびこれらの型の間に有効な比較演算子がないことを報告しています。

以下はコンパイルします:

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

c++ - 遅延ベクトルの設計: const の問題

私は小さな「遅延ベクトル」クラス (または遅延ベクトル) を作成しました。これは a のように見え、std::vectora が使用されている場所ならどこでも使用できるはずですstd::vectorが、要素を「遅延」でロードしますn。誰かが element にアクセスするたびに、ディスクからn。(理由は、私のアプリでは、すべての要素がメモリに収まらないためです。)

これがこのLazyVectorクラスですが、そのようなベクトルを使用するメンバー関数には問題がありconstます。以下を参照してください。

const私が言ったように、メンバー関数が の要素を要求するときに問題がありLazyVectorます。の性質上LazyVector、要素へのアクセスは ではありません 。つまり、このコンテキストでは禁止されている以下constのベクトルが変更されます。メンバー関数は変更する必要がvecあり、変更することはできません。どうすればこれを解決できますか?fooconst

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

c++ - 奇妙な C++ エラー: test.cpp:15: エラー: '*' の 'this' 引数として 'const *' を渡すと、修飾子が破棄されます

特定のコードで問題が発生しています。誰かがこの問題について教えてくれれば幸いです。次のサンプルで問題を切り分けました。

したがって、次のエラーが発生した可能性があります。

test.cpp:15: エラー: 'const testing' を 'int testing::test()' の 'this' 引数として渡すと、修飾子が破棄されます

どうもありがとう!

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

java - プロパティ キーに定数を使用するポイントは何ですか?

最近、構成を「プロパティー・ファイル」に依存している Java コードを多数目にするようになりました。ただし、単純な古い文字列リテラルの代わりに、コードは定数 (静的な最終文字列) を使用してプロパティ値を取得します。

どちらか一方の方向で 2 つのルックアップを実行する必要があるため、この余分なレベルの間接性が煩わしいと思います。構成ファイルで観察されたプロパティから始める場合、最初にプロパティ名を検索して Java 定数を見つけ、次に再度検索してコード内の定数への参照を見つける必要があります。コードから始めると、構成ファイル内のプロパティの値を決定する前に、定数の実際の値を見つける必要があります。

ポイントは何ですか?

リソースバンドル内のキーを参照するために定数を使用することの価値を理解しています。通常は i18n をサポートしています。私は単純で、ユーザー向けではない構成値について言及しています。私が考えることができる唯一の理由は、後でプロパティ名を簡単に変更できるようにすることですが、この利点は、特にグローバルな検索と置換の容易さを考えると、私見の煩わしさよりもはるかに少ない.

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

c# - const を使用する必要がある場合はいつですか。

Constクライアントコードに組み込まれています。Readonlyそうではありません。しかしconst、より高速です。ほんの少しかもしれませんが。

問題は、よりも優先すべきシナリオはありますconstreadonly? または言い換えると、実質的に常にreadonlya の代わりに aを使用する方が良いとは限りませんconst(上記のベーキングのことを念頭に置いてください)。

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

string - 文字列リテラルのリファクタリングに時間を有効に使うのはいつですか?

ほとんどの場合、文字列がコードに書き込まれるプロジェクトを開始しています。多くの文字列はいくつかの場所でのみ使用される可能性がありますが、一部の文字列は多くのページで共通です。

リテラルを定数にリファクタリングするのは、アプリが十分に確立されており、適切に実行されているということで、私の時間を有効に使っていますか? そうすることの長期的な利点は何ですか?

0 投票する
7 に答える
6929 参照

c - Cの定数オブジェクトへのvoidポインタを返す

内部バッファへのポインタを返すアクセス関数を作成しています。関数のユーザーに、ポイントされているオブジェクトを更新してはならないことを示唆したいと思います。非常に不自然な例は次のとおりです。

はい、私はそれが薄っぺらに見えることを知っています。

私が防ぎたいのは:

私はそれを完全に防ぐことはできないことを知っていますが、少なくともコンパイラーの警告がユーザーにそれをしてはいけないことを示唆することを望みます。彼らが私のポインターを投げた場合、それは彼らの問題です。これを行うconstとvoidおよび*の組み合わせはありますか?私は次のようなことを試しました:

しかし、それはポインタの空白をなくしたように見えたので、発信者は次のことをしなければなりませんでした。

また

できませんでした:

私はついにやって来ました:

ユーザーが行う場合:

コンパイラー(少なくともGCC)は、修飾子を破棄することについて文句を言います。

0 投票する
18 に答える
71277 参照

c++ - const の値を変更する C/C++

記事がありましたが、紛失してしまいました。注意が必要な C/C++ のトリックをいくつか示し、説明しました。そのうちの 1 つに興味がありましたが、複製しようとしている今、コンパイルすることができません。

const概念は、C/C++で a の値を誤って変更する可能性があるというものでした。

それは次のようなものでした:

これを友達に見せたかったのですが、今は手順がありません。コンパイルして作業を開始するために何が欠けているか知っている人はいますか?

ATM 'const int*' から 'int*' への無効な変換が発生していますが、記事を読んで試してみたところ、うまくいきました。