unique_ptr之外的数组模板语法
Array template syntax outside of unique_ptr
可以使用语法
std::unique_ptr<T[]>
来描述unique_ptr
的(模板化)类型,其底层原始指针指向T
数组。我想知道语法T[]
的一般含义。它是否在智能指针之外使用?是否有可能例如 vector<T[]>
有用吗?
它的意思是"未知T
边界数组"。您可能会在函数签名中看到这样的类型:
void f(int arr[]);
在其他地方定义的数组的声明中:
extern int arr[];
显然,作为像 unique_ptr
这样的模板的类型参数(或者,在未来的某个时候,shared_ptr
也是如此)。这是一个不完整的类型,因此它的用处可能相当有限。
vector<T[]>
不太可能有用。如果你不知道数组中有多少个元素,那么你怎么能有一个容器呢?
相关文章:
- 很好的语法来获取对向量/数组数据的大小引用?
- C++语法差异:二维和一维数组(指针算术)
- 解释通过从函数引用返回数组的语法
- 模板堆栈对象的数组;语法
- 在 C++ 中使用平展数组语法,崩溃取决于宽度/高度
- C++ C 样式数组作为语法错误的参数
- C 指针数组的语法
- 与解除分配堆数组相关的语法混淆
- 将 GNU Octave(或 Matlab)矩阵输出到具有 C 数组语法的文件中
- 在 c++ 中移动 2d 数组的构造函数(语法逻辑不清楚):
- 在C 中,可以用语法[i,j,..]实现访问数组元素的功能,而语法就像numpy中的ndarray样式一样
- 指向成员的指针的语法糖适用于数组,但不适用于 std::vector
- C++ - 与号+括号数组语法
- 类似C的数组语法
- C函数参数中的数组语法与指针语法
- 指向数组语法的指针
- 困惑:指向动态数组语法的指针
- 创建实例化类数组 - 语法
- c++数组语法(函数返回数组)
- 需要澄清数组语法