GNU/Linux >> Znalost Linux >  >> Linux

Správný způsob, jak vytvořit unique_ptr, který obsahuje přidělené pole

Použijte verzi pole :

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

Nebo s c++14, lepší forma (VS2013 ji již má):

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

Pomocí T[] specializace:

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

Všimněte si, že v ideálním světě byste nemuseli explicitně používat new k vytvoření instance unique_ptr , abyste se vyhnuli potenciálnímu bezpečnostnímu úskalí. Za tímto účelem vám C++14 poskytuje std::make_unique funkční šablona. Další podrobnosti naleznete v tomto vynikajícím GOTW. Syntaxe je:

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

Linux
  1. Nejlepší způsob, jak zajistit, aby se skript spouštěl jednou za období?

  2. Jak nastavit správné monitorování služeb automatizovaným způsobem? Takže, když se jeden pád automaticky restartuje?

  3. Spustit příkaz pomocí argumentů, které pocházejí z pole?

  1. Jak vytvořit dočasný adresář v C++?

  2. Správný způsob odkazování na soubory vzhledem ke kořenovému adresáři aplikace v Node.JS

  3. Vytvořte pole se všemi síťovými rozhraními v bash

  1. Vytvořit virtuální soubor, který je ve skutečnosti příkazem?

  2. Existuje správný způsob, jak vymazat protokoly?

  3. Správný způsob interpretace zatížení systému na 4jádrovém 8vláknovém procesoru