2016-11-19 41 views
1

以下是我無法理解的部分代碼。這是一個func定義。什麼 - > std :: ostream&mean?

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

這是什麼意思 - > std :: ostream &?這是否有必要?在我看來,

void print (sPtr vec) ; 

我現在正在學習CPP5 ch12,代碼來自github Mooophy/Cpp-Primer; 感謝大家的建議。

+1

@EdHeal:這不是一個拉姆達,這是帶有尾隨返回類型的正常功能。 –

+0

我意識到,按回車後 - sorryt –

+1

我從來沒有聽說過「CPP5 ch12」,並不知道這意味着什麼,但你應該學習C++與推薦的教科書,而不是與github存儲庫。 –

回答

6

print是以sPtr作爲輸入並返回std::ostream&的函數。正在使用的語法是在C++ 11中引入的,它被稱爲"trailing return type"

print的聲明可以被改寫爲:

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

感謝您的回答和您的鏈接。 –

+0

我發現我已經瞭解到..很傷心.. –

相關問題