'AUTO CONST' e 'CONST AUTO' lo stesso?
-
13-12-2019 - |
Domanda
C'è una differenza semantica tra auto const
e const auto
, o significano la stessa cosa?
Soluzione
Il Qualificatore const
si applica al tipo all'immediato a sinistra a meno che non vi sia nulla a sinistra, quindi si applica al tipo al diritto immediato.Quindi, è lo stesso.
Altri suggerimenti
Esempio escogitato:
std::vector<char*> test;
const auto a = test[0];
*a = 'c';
a = 0; // does not compile
auto const b = test[1];
*b = 'c';
b = 0; // does not compile
.
Sia a
e b
hanno il tipo char* const
.Non pensare di poter semplicemente "inserire" il tipo invece della parola chiave auto
(qui: const char* a
)!La parola chiave const
si applicherà a tutto il tipo che le partite di auto
(qui: char*
).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow