C'è una differenza o è la stessa?È "auto const" e "const auto" uguali?
25
A
risposta
41
Il qualificatore const
si applica al tipo a sinistra immediata a meno che non vi sia nulla a sinistra, quindi si applica al tipo a destra immediata. Quindi sì, è lo stesso.
9
esempio forzato:
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 tipo char* const
. Non pensare di poter semplicemente "inserire" il tipo al posto della parola chiave auto (qui: const char* a
)! La parola chiave const
si applicherà all'intero tipo con corrispondenze auto
(qui: char*
).
Problemi correlati
- 1. Differenza tra auto const e auto per lambda
- 2. È 'auto a_class :: f (...) -> T const' ambiguo nella grammatica?
- 3. C++ auto & vs auto
- 4. const static auto lambda utilizzato con acquisizione per riferimento
- 5. auto da const std :: vector <> &; oggetto o riferimento?
- 6. C++ 11 efficienza per-loop "auto const & i" contro "auto i"
- 7. Qual è la differenza tra const const e const?
- 8. oggetto const e costruttore const
- 9. const CFoo e bar() const
- 10. metodi const e no const in C++?
- 11. Const e modello non const specializzazione
- 12. Perché questa dichiarazione const const const valido
- 13. Sovraccarico dell'operatore Const e Non-Const
- 14. const int = int const?
- 15. C++ 11: ref standard per l'azione di `auto` sui tipi const e di riferimento
- 16. const vs new const
- 17. auto e static_casts - le buone pratiche
- 18. puntatore Unico e const correttezza
- 19. Differenza tra const & const volatili
- 20. Cosa è const void?
- 21. C++ conversioni auto
- 22. Const reference e lvalue
- 23. Const e mutevole
- 24. vettoriale e const
- 25. const_iterator e puntatore const
- 26. Come inizializzare correttamente una variabile const const const?
- 27. Semantica C++ 11 "auto"
- 28. const e STL contenitori
- 29. dimensione dell'array e const
- 30. L'int main (int, char const * const *) è ben formato?
È lo stesso, come qualsiasi altro tipo. – chris