나는 uint32_t
배열에 값을 채우는 블랙 박스 프레임 워크 (cdg)를 사용하고있다. 통화가 그 다음과 같습니다배열의 원시 포인터를 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