注意這不是What does -> mean in C++?的重複什麼 - >在函數簽名中的C++ 11中的含義?
這個問題是特定於C++ 11的;功能可能如下所示:
struct string_accumulator {
}
inline auto collect() -> string_accumulator
{
return string_accumulator();
}
在這種情況下,「 - >」的含義是什麼?
注意這不是What does -> mean in C++?的重複什麼 - >在函數簽名中的C++ 11中的含義?
這個問題是特定於C++ 11的;功能可能如下所示:
struct string_accumulator {
}
inline auto collect() -> string_accumulator
{
return string_accumulator();
}
在這種情況下,「 - >」的含義是什麼?
這是一個trailing return type。它可用於明確指定lambda表達式的返回類型,或指定依賴於函數的輔助函數的返回類型。示例:
[](int) -> float { return 0.f; };
template <typename A, typename B>
auto foo(A a, B b) -> decltype(a + b) { return a + b; }
將函數的返回類型放在函數的作用域內也是有用的。喜歡而不是'MyNS :: MyClass :: MyNestedType MyNS :: MyClass :: f(){return {}; }',你可以執行'auto MyNS :: MyClass :: f() - > MyNestedType {return {}; }' – aschepler
我沒有downwote,但我認爲您的標題可能更具體,如:「函數聲明中的內容(...)」? – R2RT