arrays - 如何获取unique_ptr中存储的数组大小?

标签 arrays c++11 stdvector unique-ptr

如果我这样做:

std::unique_ptr<int[]> uparr(new int[1984]);

我将 uparr 传递给某人,而不将 1984 传递给他们,他们可以看到它有多少个元素吗?
又名数组的 unique_ptr 是否有相当于向量的 .size() ?

最佳答案

不,没有。动态数组是一个有缺陷的语言功能。您基本上总是希望/需要单独传递数组长度(除非您有某种哨兵策略)。因此,您不妨使用 std::vector (如果您不介意容量的额外单词)。

关于arrays - 如何获取unique_ptr中存储的数组大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662348/

相关文章:

arrays - Fortran 中是否有用于将数组初始化为零的内在函数?

arrays - 当使用字符串数组作为输入时,TEXTSPLIT 结合 BYROW 返回意外结果

c++ - 使用 move 语义的初始化列表顺序中的未定义行为

c++ - 在 C++11 中有条件地实现虚方法

c++函数,它将数据返回到引用 vector

node.js - Nodejs如何发布多个数组

java - 如何替换数组的单个元素

c++ - 为什么 C++11 不将 lambda 隐式转换为 std::function 对象?

c++ - 我的 vector 获得了一个额外的索引,即使我不希望它这样做

c++ - 在 C++ 中漂亮地打印一个 std::vector