GNU/Linux >> Belajar Linux >  >> Linux

Cara yang tepat untuk membuat unique_ptr yang menyimpan array yang dialokasikan

Gunakan versi larik :

auto testData = std::unique_ptr<unsigned char[]>{ new unsigned char[16000] };

Atau dengan c++14, bentuk yang lebih baik ( VS2013 sudah memilikinya ):

auto testData = std::make_unique<unsigned char[]>( 16000 );

Menggunakan T[] spesialisasi:

std::unique_ptr<unsigned char[]> testData(new unsigned char[16000]());

Perhatikan bahwa, di dunia yang ideal, Anda tidak perlu menggunakan new secara eksplisit untuk membuat instance unique_ptr , menghindari jebakan keamanan pengecualian potensial. Untuk tujuan ini, C++14 memberi Anda std::make_unique templat fungsi. Lihat GOTW yang luar biasa ini untuk lebih jelasnya. Sintaksnya adalah:

auto testData = std::make_unique<unsigned char[]>(16000);

Linux
  1. Cara Terbaik Untuk Memastikan Bahwa Skrip Dijalankan Sekali Periode?

  2. Apakah `deklarasikan -a A` Membuat Array Kosong `a` Di Bash?

  3. Apa cara yang tepat untuk menggunakan inotify?

  1. Apa cara yang tepat untuk memasukkan tab di sed?

  2. Apakah ada cara untuk mengonversi dari UTF8 ke ISO-8859-1?

  3. Cara yang tepat untuk merujuk file relatif ke root aplikasi di Node.JS

  1. Cara yang tepat untuk mendapatkan grup pengguna di linux menggunakan C

  2. Bagaimana saya bisa membuat zip / tgz di Linux sehingga Windows memiliki nama file yang tepat?

  3. Apa cara termudah untuk membuat paket virtual di debian?