問題タブ [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.
c# - C# - この宣言された文字列は const として扱われますか?
ここで議論を解決するのを手伝ってください。
これは:
これとまったく同じように扱われます:
すなわち。文字列 s が const であることを具体的に述べれば、違いはありますか。
そして、もしそれが同じように扱われなければ、なぜですか?
ios - Objective-Cの定数
私はCocoaNSString
アプリケーションを開発しており、好みのキー名を保存する方法として定数sを使用しています。
必要に応じてキーを簡単に変更できるので、これは良い考えだと思います。
さらに、それは「ロジックからデータを分離する」という概念全体です。
とにかく、これらの定数をアプリケーション全体に対して一度定義する良い方法はありますか?
簡単でインテリジェントな方法があると確信していますが、今のところ、私のクラスは使用するクラスを再定義するだけです。
c++ - const set& の問題。コンパイラ/STL のバグまたは移植性のない使用法?
家に語学弁護士はいますか?
次のコードはコンパイルする必要がありますか?
プラットフォームの 1 つ (Sun Workshop) では、これはコンパイルされません。これは、find 関数が iterator を返し、end 関数が const_iterator を返したこと、およびこれらの型の間に有効な比較演算子がないことを報告しています。
以下はコンパイルします:
c++ - 遅延ベクトルの設計: const の問題
私は小さな「遅延ベクトル」クラス (または遅延ベクトル) を作成しました。これは a のように見え、std::vector
a が使用されている場所ならどこでも使用できるはずですstd::vector
が、要素を「遅延」でロードしますn
。誰かが element にアクセスするたびに、ディスクからn
。(理由は、私のアプリでは、すべての要素がメモリに収まらないためです。)
これがこのLazyVector
クラスですが、そのようなベクトルを使用するメンバー関数には問題がありconst
ます。以下を参照してください。
const
私が言ったように、メンバー関数が の要素を要求するときに問題がありLazyVector
ます。の性質上LazyVector
、要素へのアクセスは ではありません 。つまり、このコンテキストでは禁止されている以下const
のベクトルが変更されます。メンバー関数は変更する必要がvec
あり、変更することはできません。どうすればこれを解決できますか?foo
const
c++ - 奇妙な C++ エラー: test.cpp:15: エラー: '*' の 'this' 引数として 'const *' を渡すと、修飾子が破棄されます
特定のコードで問題が発生しています。誰かがこの問題について教えてくれれば幸いです。次のサンプルで問題を切り分けました。
したがって、次のエラーが発生した可能性があります。
test.cpp:15: エラー: 'const testing' を 'int testing::test()' の 'this' 引数として渡すと、修飾子が破棄されます
どうもありがとう!
java - プロパティ キーに定数を使用するポイントは何ですか?
最近、構成を「プロパティー・ファイル」に依存している Java コードを多数目にするようになりました。ただし、単純な古い文字列リテラルの代わりに、コードは定数 (静的な最終文字列) を使用してプロパティ値を取得します。
どちらか一方の方向で 2 つのルックアップを実行する必要があるため、この余分なレベルの間接性が煩わしいと思います。構成ファイルで観察されたプロパティから始める場合、最初にプロパティ名を検索して Java 定数を見つけ、次に再度検索してコード内の定数への参照を見つける必要があります。コードから始めると、構成ファイル内のプロパティの値を決定する前に、定数の実際の値を見つける必要があります。
ポイントは何ですか?
リソースバンドル内のキーを参照するために定数を使用することの価値を理解しています。通常は i18n をサポートしています。私は単純で、ユーザー向けではない構成値について言及しています。私が考えることができる唯一の理由は、後でプロパティ名を簡単に変更できるようにすることですが、この利点は、特にグローバルな検索と置換の容易さを考えると、私見の煩わしさよりもはるかに少ない.
c# - const を使用する必要がある場合はいつですか。
Const
クライアントコードに組み込まれています。Readonly
そうではありません。しかしconst
、より高速です。ほんの少しかもしれませんが。
問題は、よりも優先すべきシナリオはありますconst
かreadonly
? または言い換えると、実質的に常にreadonly
a の代わりに aを使用する方が良いとは限りませんconst
(上記のベーキングのことを念頭に置いてください)。
string - 文字列リテラルのリファクタリングに時間を有効に使うのはいつですか?
ほとんどの場合、文字列がコードに書き込まれるプロジェクトを開始しています。多くの文字列はいくつかの場所でのみ使用される可能性がありますが、一部の文字列は多くのページで共通です。
リテラルを定数にリファクタリングするのは、アプリが十分に確立されており、適切に実行されているということで、私の時間を有効に使っていますか? そうすることの長期的な利点は何ですか?
c - Cの定数オブジェクトへのvoidポインタを返す
内部バッファへのポインタを返すアクセス関数を作成しています。関数のユーザーに、ポイントされているオブジェクトを更新してはならないことを示唆したいと思います。非常に不自然な例は次のとおりです。
はい、私はそれが薄っぺらに見えることを知っています。
私が防ぎたいのは:
私はそれを完全に防ぐことはできないことを知っていますが、少なくともコンパイラーの警告がユーザーにそれをしてはいけないことを示唆することを望みます。彼らが私のポインターを投げた場合、それは彼らの問題です。これを行うconstとvoidおよび*の組み合わせはありますか?私は次のようなことを試しました:
しかし、それはポインタの空白をなくしたように見えたので、発信者は次のことをしなければなりませんでした。
また
できませんでした:
私はついにやって来ました:
ユーザーが行う場合:
コンパイラー(少なくともGCC)は、修飾子を破棄することについて文句を言います。
c++ - const の値を変更する C/C++
記事がありましたが、紛失してしまいました。注意が必要な C/C++ のトリックをいくつか示し、説明しました。そのうちの 1 つに興味がありましたが、複製しようとしている今、コンパイルすることができません。
const
概念は、C/C++で a の値を誤って変更する可能性があるというものでした。
それは次のようなものでした:
これを友達に見せたかったのですが、今は手順がありません。コンパイルして作業を開始するために何が欠けているか知っている人はいますか?
ATM 'const int*' から 'int*' への無効な変換が発生していますが、記事を読んで試してみたところ、うまくいきました。