Verwenden Sie die Array-Version :
auto testData = std::unique_ptr<unsigned char[]>{ new unsigned char[16000] };
Oder mit c++14, eine bessere Form (VS2013 hat es bereits):
auto testData = std::make_unique<unsigned char[]>( 16000 );
Mit dem T[]
Spezialisierung:
std::unique_ptr<unsigned char[]> testData(new unsigned char[16000]());
Beachten Sie, dass Sie in einer idealen Welt new
nicht explizit verwenden müssten um einen unique_ptr
zu instanziieren , wodurch eine potenzielle Ausnahmesicherheitsfalle vermieden wird. C++14 stellt Ihnen dazu den std::make_unique
zur Verfügung Funktionsvorlage. Weitere Einzelheiten finden Sie in diesem ausgezeichneten GOTW. Die Syntax lautet:
auto testData = std::make_unique<unsigned char[]>(16000);