Język C++
auto
[słowo kluczowe] Zastępczy typ zmiennej, który jest dedukowany na podstawie wartości jaką zmienna jest inicjalizowana.Składnia
auto nazwa_zmiennej = wartosc;
Opis szczegółowy
Słowo kluczowe
auto w standardzie C++11 zmieniło swoje znaczenie w stosunku do standardu C++. Słowo kluczowe
auto wg standardu C++11 oznacza
zastępczy typ zmiennej, który zostanie wydedukowany na podstawie wartości za pomocą której zmienna zostanie zainicjalizowana.
Zmienna, której nadano zastępczy typ
auto musi zostać zainicjalizowana w chwili jej tworzenia. W przeciwnym wypadku zostanie zwrócony błąd kompilacji.
Tworzona zmienna może zawierać modyfikatory takie jak
const i
volatile. Zmienna może być również
wskaźnikiem (*),
referencją (&) czy też
referencją do r-wartości (&&).
Na zmiennych o typie zastępczym
auto można używać słów kluczowych
sizeof i
typeid. Nie można natomiast odczytywać informacji za pomocą wspomianych słów kluczowych bezpośrednio ze słowa kluczowego
auto - wystąpi wówczas błąd kompilacji.
Przykłady instruktażowe
Niniejsza sekcja zawiera krótkie fragmenty kodu, które pokazują niektóre sposoby użycia słowa kluczowego
auto.
Korzystanie z sizeof
auto liczba = 123;
printf( "%d\n", sizeof( liczba ) );
printf( "%d\n", sizeof( auto ) );
Inicjalizacja stałą
auto liczba1 = 123;
int liczba2 = 123;
Inicjalizacja zwracaną wartością
std::map < std::string, std::vector < int > > mapa;
auto it1 = mapa.begin();
std::map < std::string, std::vector < int > >::iterator it2 = mapa.begin();
Inicjalizacja wskaźnikiem
double liczba = 12.34;
auto * wskaznik1a = new auto( liczba );
double * wskaznik1b = new double( liczba );
auto ** wskaznik2a = new auto( & liczba );
double ** wskaznik2b = new double *( & liczba );
Dodatkowe informacje
Więcej informacji znajdziesz pod adresem:
http://msdn.microsoft.com/en-us/library/dd293667.aspx.
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.