小编典典

带有数组的 unique_ptr 有什么用吗?

all

std::unique_ptr支持数组,例如:

std::unique_ptr<int[]> p(new int[10]);

但需要吗?std::vector可能使用or更方便std::array

你觉得那个结构有什么用吗?


阅读 95

收藏
2022-04-26

共1个答案

小编典典

有些人甚至没有使用std::vector分配器的奢侈。有些人需要一个动态大小的数组,所以std::array就不行了。有些人从已知返回数组的其他代码中获取数组;并且该代码不会被重写以返回
avector或其他东西。

通过允许unique_ptr<T[]>,您可以满足这些需求。

简而言之,您unique_ptr<T[]>需要 时使用。当替代方案根本不适合您时。这是不得已而为之的工具。

2022-04-26