型別名
-
當後跟一個限定名稱時,
typename
指定它是一個型別的名稱。這通常在模板中是必需的,特別是當巢狀名稱說明符是除當前例項化之外的依賴型別時。在此示例中,std::decay<T>
取決於模板引數T
,因此為了命名巢狀型別type
,我們需要使用typename
為整個限定名稱新增字首。有關更多詳細資訊,請參閱 模板和typename
關鍵字的位置和原因?template <class T> auto decay_copy(T&& r) -> typename std::decay<T>::type;
-
在模板的宣告中引入型別引數。在這種情況下,它可以與
class
互換。template <typename T> const T& min(const T& x, const T& y) { return b < a ? b : a; }