我正在使用黑盒框架(cdg),它使用值填充uint32_t
的数组。 调用看起来像这样:将原始数组投影到unique_ptr
std::size_t dataCount = 100;
uint32_t* data = new uint32_t[dataCount];
cdg.generate(data);
不幸的是,框架不使用模板,所以我有一个uint32_t*
通过。为了摆脱原始指针,我想将它“包装”成std::unique_ptr<uint32_t>
。因此,这是一个阵列,我认为我必须使用 std::unique_ptr<uint32_t[]>
。有没有一种方法,以原始指针转换为unique_ptr
或者我应该做这样的事情:
const std::size_t dataCount = 100;
std::unique_ptr<uint32_t[]> data = std::make_unique<uint_32_t[]>(dataCount);
cdg.generate(data.get());
使用'std :: vector'和'std :: vector :: data()'? – BoBTFish
为什么不使用uint32_t的向量? – finlaybob
如果'dataCount'不变,则使用'std :: array' – gurka