2016-11-19 1 views
1

Hier ist der Teil der Codes, die ich nicht verstehen kann. Dies ist eine Func-Definition.Was bedeutet -> Std :: Ostream & Mean?

using sPtr = std::shared_ptr < std::vector<int> >; 
auto print(sPtr vec) ->std::ostream&; 

was bedeutet es durch -> std :: ostream &? Ist es notwendig oder nicht? Meiner Meinung nach,

void print (sPtr vec) ; 

Ich lerne CPP5 ch12 jetzt, und der Code ist von Github Mooophy/Cpp-Primer; Danke allen Tipps.

+1

@EdHeal:

Die Erklärung von print kann wie folgt neu geschrieben werden, dass kein Lambda ist, das ist eine normale Funktion mit einem nachgestellten Rückgabetyp. –

+0

Ich erkannte, dass nach dem Drücken der Rückkehr - sormtt –

+1

Ich habe noch nie von "CPP5 ch12" gehört und habe keine Ahnung, was das bedeutet, aber Sie sollten wahrscheinlich lernen C++ mit empfohlenen Lehrbüchern, nicht mit Github-Repositories. –

Antwort

6

print ist eine Funktion, die eine sPtr als Eingabe nimmt und eine std::ostream& zurückgibt. Die verwendete Syntax wurde in C++ 11 eingeführt und heißt "trailing return type".

std::ostream& print(sPtr vec); 
+0

Vielen Dank für Ihre Antwort und Ihren Link. –

+0

Ich finde ich habe das gelernt .. So traurig .. –