[C++11] Semantyka słowa kluczowego auto.
Ostatnio zmodyfikowano 2013-06-10 23:09
akwes Temat założony przez niniejszego użytkownika |
[C++11] Semantyka słowa kluczowego auto. » 2013-06-10 20:59:29 Witam. Czytałem sobie na dokumentacji ( auto) opis auto i zastanowił mnie sposób deklaracji wskaźników za pomocą tego słowa. #include <iostream> #include <typeinfo>
int main() { double liczba = 12.34; auto * wskaznik1a = new auto( liczba ); double * wskaznik1b = new double( liczba ); auto wsk = new auto( liczba ); std::cout << typeid( wskaznik1a ).name() << "\n"; std::cout << typeid( wskaznik1b ).name() << "\n"; std::cout << typeid( wsk ).name() << "\n"; auto ** wskaznik2a = new auto( & liczba ); double ** wskaznik2b = new double *( & liczba ); auto wsk2 = new auto( & liczba ); std::cout << typeid( wskaznik2a ).name() << "\n"; std::cout << typeid( wskaznik2b ).name() << "\n"; std::cout << typeid( wsk2 ).name() << "\n"; auto tab = new int[ 100 ]; std::cout << typeid( tab ).name() << "\n"; auto tab2 = new int[ 10 ][ 10 ]; std::cout << typeid( tab2 ).name() << "\n";
Out: double * double * double * double * * double * * double * * int * int (*)[10]
Moje pytanie jest następujące: Dlaczego auto * wsk = new double; a nie całkowicie korzystając z dedukcji typu auto wsk = new double; ? Jest to jedynie wyraźna manifestacja typu wskaźnikowego dla osoby czytającej kod? Czy może w tej kwestii mówi coś standard? |
|
Elaine |
» 2013-06-10 23:06:59 Jest to jedynie wyraźna manifestacja typu wskaźnikowego dla osoby czytającej kod? |
Tak. |
|
akwes Temat założony przez niniejszego użytkownika |
» 2013-06-10 23:09:20 Dzięki za rozwianie niepewności. |
|
« 1 » |