Utilice la versión de matriz:
auto testData = std::unique_ptr<unsigned char[]>{ new unsigned char[16000] };
O con c++14, una forma mejor (VS2013 ya la tiene):
auto testData = std::make_unique<unsigned char[]>( 16000 );
Usando el T[]
especialización:
std::unique_ptr<unsigned char[]> testData(new unsigned char[16000]());
Tenga en cuenta que, en un mundo ideal, no tendría que usar explícitamente new
para instanciar un unique_ptr
, evitando una posible trampa de seguridad de excepción. Con este fin, C++14 le proporciona el std::make_unique
plantilla de función. Vea este excelente GOTW para más detalles. La sintaxis es:
auto testData = std::make_unique<unsigned char[]>(16000);