Fehler, Irrtümer, Fragen - Seite 1926

 
fxsaber:

wenn es in Zukunft nur noch Lesevorgänge geben wird.

Der Compiler weiß nicht (und sollte es auch nicht wissen), wie die zukünftigen Operationen aussehen werden (sonst würde die Kompilierzeit Stunden statt Minuten betragen)
 
A100:
Der Compiler weiß nicht (und sollte es auch nicht wissen), wie die zukünftigen Operationen aussehen werden (sonst würde die Kompilierzeit Stunden statt Minuten betragen)
void OnStart()
{
  int a; // variable 'a' not used
}
 
fxsaber:

Der Compiler kommt bis zur Zeile 1 - er gibt eine Warnung aus - weil er keine weiteren Operationen analysiert und die <a>-Variable später initialisiert werden kann. Und wenn

 const int a;

er würde einen Fehler ausgeben, weil er später nicht mehr initialisiert werden kann (und der Compiler analysiert die weiteren Operationen nicht und weiß z.B. nicht, dass er überhaupt nicht mehr verwendet wird)

Alles ist logisch und hängt nicht von subjektiven Vorlieben ab

 
A100:

Der Compiler kommt bis zur Zeile 1 - er gibt eine Warnung aus - weil er keine weiteren Operationen analysiert und die <a>-Variable später initialisiert werden kann. Und wenn

er würde einen Fehler erzeugen, weil er später nicht initialisiert werden kann (und der Compiler analysiert die weiteren Operationen nicht und weiß z.B. nicht, dass er überhaupt nicht weiter verwendet wird)

Alles ist logisch und hängt nicht von subjektiven Vorlieben ab

Es ist unlogisch, warum man nicht eine unbrauchbare const-Variable verwenden kann.

 
fxsaber:

Es macht keinen Sinn, warum man nicht eine unsinnige const-Variable verwenden kann.

Geben Sie ein Beispiel für diese Verwendung

         const int a;
kann konventionell geschrieben werden als
        int i;
        const int a = i;
        Print( a ) //случайное число... и что дальше?
 
A100:

Nennen Sie ein Beispiel für diese Verwendung

Übergabe an eine Funktion per Referenz und Abruf eines Wertes.
 
Комбинатор:
per Referenz an eine Funktion übergeben und den Wert erhalten.
Wie sieht das im Code aus?
 
A100:
Wie sieht das im Code aus?
void f(int& i)
{
   i = 5;
}

{
   int i;
   f(i);
}
 
Комбинатор:
Wo ist const? (oder haben Sie die letzte Seite nicht gelesen?)
 

Ich bin eigentlich gegen uninitialisierte Variablen jeglicher Art und verbiete sie auf Compiler-Ebene, um nur ein Beispiel zu nennen.

A100:
Wo ist const? (oder haben Sie die letzte Seite nicht gelesen?)
Ja, das habe ich, aber ich muss unaufmerksam gewesen sein.