Il nuovo standard C++ 11 aggiunge una nuova sintassi dichiarazione di funzione con un tipo restituito finale:Perché il tipo di ritorno è precedente al nome della funzione?
// Usual declaration
int foo();
// New declaration
auto foo() -> int;
Questa sintassi ha essere dedotto il vantaggio di permettere il tipo di ritorno, come in:
template<class T, class U>
auto bar(T t, U u) -> decltype(t + u);
Ma poi perché il tipo di reso è stato messo prima del nome della funzione in primo luogo? Immagino che una risposta sarà che non c'era bisogno di tale deduzione di tipo in quel momento. In tal caso, esiste un motivo per cui un nuovo ipotetico linguaggio di programmazione non utilizza il tipo di ritorno finale per impostazione predefinita?
C++ in realtà non assomiglia C++ più ... = ( – paddy
@paddy: E 'praticamente C+++ ora – Mehrdad
@Mehrdad:.. A destra Se si ruota il secondo '1',' C+++ 'è quello che si ottiene –