GNU/Linux >> Tutoriales Linux >  >> Linux

Manera correcta de crear unique_ptr que contiene una matriz asignada

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);

Linux
  1. ¿Crear un archivo virtual que en realidad es un comando?

  2. ¿Cómo crear una matriz de elementos únicos a partir de una cadena/matriz en Bash?

  3. ¿`Declare -a A` crea una matriz vacía `a` en Bash?

  4. ¿Cómo establecer un seguimiento adecuado de los servicios de forma automatizada? ¿Entonces si uno se bloquea, se reinicia automáticamente sobre la marcha?

  5. ¿Cómo crear un directorio temporal en C++?

¿Ejecutar un comando usando argumentos que provienen de una matriz?

¿Cuál es la forma correcta de usar inotify?

¿Hay alguna forma de convertir de UTF8 a ISO-8859-1?

Forma correcta de hacer referencia a archivos relativos a la raíz de la aplicación en Node.JS

Forma correcta de usar OnFailure en systemd

¿Hay una forma adecuada de borrar los registros?