Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział2NowoczesnyC++
idopasowywaćstylówinicjowaniazmiennych.Wynikastądjeszczejedna,finalnapora-
da:używać
auto
dlazmiennychlokalnych,gdytylkojesttomożliwe.Niemożliwejest
zadeklarowaniezmiennejoautomatycznymtypieijejniezdefiniowanie;tymsamym
niemożliwajestsytuacja,gdymamyniezdefiniowanązmiennąlokalną,oileużywamy
składni
auto
.Tospostrzeżeniemożewyeliminowaćprzynajmniejjednopotencjalne
źródłobłędówwnaszychprogramach.
Przepis2-4.Używanieautowfunkcjach
Problem
Chcemyutworzyćbardziejogólnefunkcjeprzyużyciudedukcjitypu,abyułatwićpóź-
niejszeutrzymywaniekodu.
Rozwiązanie
NowoczesnyC++pozwalanamużywaćdedukcjitypówdlaparametrówfunkcjiity-
pówzwracanych.
Jaktodziała
C++pozwalawykorzystaćdedukcjętypuprzypracyzfunkcjami,wykorzystującdwie
metody.Możemydedukowaćtypyparametrówfunkcjipoprzezutworzeniefunkcji
szablonowejiwywołaniejejbezjawnejspecjalizacji.Typzwracanymożezostaćwyde-
dukowanypoprzezużyciesłowakluczowego
auto
wmiejscetypufunkcji.Listing2-11
pokazujeużycie
auto
dowydedukowaniatypuzwracanegodlafunkcji.
Listing2-11.Dedukowanietypuzwracanegofunkcjiprzyużyciu
auto
#include<iostream>
usingnamespacestd;
autoAutoFunctionFromReturn(intparameter)
{
returnparameter;
}
37