unique_ptr之外的数组模板语法

时间:2015-04-19 05:49:26

标签: c++ templates c++11

语法std::unique_ptr<T[]>可用于描述unique_ptr的(模板化)类型,其基础原始指针指向T的数组。我想知道语法T[]通常意味着什么。它是否在智能指针之外使用?有可能是例如vector<T[]>永远有用吗?

1 个答案:

答案 0 :(得分:1)

它表示&#34; T&#34;的未知界限数组。您可能会在函数签名中看到这样的类型:

void f(int arr[]);

在其他地方定义的数组声明中:

extern int arr[];

显然,作为unique_ptr等模板的类型参数(或者,将来的某个时间,shared_ptr也是如此)。它是一种不完整的类型,因此它的用处可能相当有限。

vector<T[]>不太可能有用。如果你不知道数组中有多少元素,那么你怎么能拥有它们的容器呢?