Domanda

C'è una differenza semantica tra auto const e const auto, o significano la stessa cosa?

È stato utile?

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
scroll top