我正在使用黑盒框架(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