エラー、バグ、質問 - ページ 1926

 
fxsaber:

は、将来的に読み取り専用の操作しか行われない場合。

コンパイラは将来のオペレーションを知らない(知るべきでない)(さもなければコンパイル時間は数分ではなく数時間になる)。
 
A100:
コンパイラは将来のオペレーションを知らない(知るべきでない)(さもなければコンパイル時間は数分ではなく数時間になる)。
void OnStart()
{
  int a; // variable 'a' not used
}
 
fxsaber:

コンパイラは1行目まで行くと、警告を出します。なぜなら、それ以上の操作を分析せず、<a>変数は後で初期化することができるからです。そして、もし

 const int a;

というのは、後で初期化できないからです(コンパイラはそれ以降の操作を分析しないので、たとえば、それ以降まったく使用されないということはわかりません)。

すべては論理的であり、主観的な好みに左右されることはない

 
A100:

コンパイラは1行目まで行くと、警告を出します。なぜなら、それ以上の操作を分析せず、<a>変数は後で初期化することができるからです。そして、もし

の場合、後で初期化できないのでエラーが発生します(コンパイラはそれ以降の操作を分析しないので、例えば、それ以降全く使用されないということはわかりません)。

すべては論理的であり、主観的な好みに左右されることはない

なぜ、ゴミのようなconst-variableが使えないのか、非論理的です。

 
fxsaber:

なんでゴミみたいなconst変数が使えないのか意味不明。

この使用例について説明してください。

         const int a;
は、従来から次のように書くことができます。
        int i;
        const int a = i;
        Print( a ) //случайное число... и что дальше?
 
A100:

この使用例を挙げてください。

参照で関数に転送し、値を取得する。
 
Комбинатор:
を参照で関数に渡し、値を取得します。
コード上ではどのように見えるのでしょうか?
 
A100:
コード上ではどのように見えるのでしょうか?
void f(int& i)
{
   i = 5;
}

{
   int i;
   f(i);
}
 
Комбинатор:
constはどこにある?(それとも最後のページを読んでないのか?)
 

私はどんな種類の初期化されていない変数にも反対で、コンパイラーレベルで禁止しているのですが、これは一例です。

A100:
constはどこにある?(それとも最後のページを読んでないのか?)
そうなんですが、うっかりしていたようです。