私は値を持つuint32_t
の配列を塗りつぶすブラックボックスフレームワーク(cdg)に対して取り組んでいます。 コールは、次のようになります。配列のrawポインタを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