语法std::unique_ptr<T[]>
可用于描述unique_ptr
的(模板化)类型,其基础原始指针指向T
的数组。我想知道语法T[]
通常意味着什么。它是否在智能指针之外使用?有可能是例如vector<T[]>
永远有用吗?
答案 0 :(得分:1)
它表示&#34; T
&#34;的未知界限数组。您可能会在函数签名中看到这样的类型:
void f(int arr[]);
在其他地方定义的数组声明中:
extern int arr[];
显然,作为unique_ptr
等模板的类型参数(或者,将来的某个时间,shared_ptr
也是如此)。它是一种不完整的类型,因此它的用处可能相当有限。
vector<T[]>
不太可能有用。如果你不知道数组中有多少元素,那么你怎么能拥有它们的容器呢?