In C++ Primer 5 sehe ich den Code:ist es ein Konflikt? über C++ Auto
const int a = 40;
auto &b = a;
Der Compiler b
mit Typ ableiten kann: const int &
.
Ich denke, das ist vernünftig, wie ein const int
ist und wenn b int &
Sie ihnen können wir den Wert eines const int
ändern, was illegal ist.
Jedoch sagte das Buch, dass die automatische Abzug wird die Top-Level-const, mit dieser Regel im Code weglassen: auto &b = a;
das eine hat nur int geben, sie wir, dass die B-Typ int &
verschieben kann, hat die Konflikte, b hat den Typ const int &
.
Eine andere Frage ist der Code:
auto &a = 8;
Der Compiler kann nicht ableiten, dass ein const int &
direkt während im Code eingeben hat:
const int a = 40;
auto &b = a;
der Compiler kann. Warum der Unterschied?
Es ist unklar, was Sie fragen? Bitte formulieren Sie eine konkrete, konkrete Frage, die beantwortet werden muss. – YePhIcK
Ich denke, dass das Wort "Defer" durch "Infer" ersetzt werden sollte. – myaut
@myaut Nicht "inferieren", "ableiten". – Barry