std unique ptr



Автор Konstantin задал вопрос в разделе Другие языки и технологии

С++ / интеллектуалььные указатели / std::unique_ptr и получил лучший ответ

Ответ от Ѕрший Воще Чилавик))))[гуру]
unique_ptr&lt;double[]&gt; apa_ptr(new double(6)); Создаст массив только с одним элементом. (и присвоит значение 6) Если хотите шесть, то надо: std::unique_ptr&lt;int[]&gt; array(new int[6]); Если хотите сразу их всех инициализировать, то: std::unique_ptr&lt;int[]&gt; array(new int[6]{1, 2, 3, 4, 5, 6}); У std::unique_ptr есть оператор [] Поэтому можно: for (unsigned i = 0; i < 6; ++i) { std::cout << array[ i ] << \'\\n\'; } ________________________ Но это все не удобно потому что насколько я знаю нельзя узнать размерность массива который держит умный указатель. Лучше использовать std::vector&lt;std::unique_ptr&gt; или std::array&lt;std::unique_ptr,&gt;</i>

Ответ от Николай Веселуха[гуру]
выделяется память под 6 элементов типа double, вот только скобки должны быть квадратными.. . unique_ptr&lt;double[]&gt; apa_ptr(new double[6]);

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: С++ / интеллектуалььные указатели / std::unique_ptr

Составить программу на C++.
#include <fstream>
#include <algorithm>
#include <iterator>
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*