Общие массивы TR1

Согласно Майклу Деханну, который создал Ansible, трюк с запятой, о котором вы говорите, - это хак, на который нельзя полагаться . Это взлом для запуска Ansible без файла инвентаря, для случаев, когда вы собираетесь работать с localhost. Таким образом, вам не нужно создавать файл инвентаря, который просто отображает localhost.

15
задан Perculator 9 March 2009 в 19:22
поделиться

2 ответа

Это корректно, в TR1 нет никакого shared_array.

можно, однако, обеспечить собственный объект средства удаления работать "удаляют []", если Вы желаете использования этого конструктора:

template<class Other, class D>
   shared_ptr(Other* ptr, D dtor);

, Например:

template<typename T>
struct my_array_deleter
{
   void operator()(T* p)
   {
      delete [] p;
   }
};

shared_ptr<int> sp(new int[100], my_array_deleter<int>());
23
ответ дан 1 December 2019 в 03:05
поделиться

Я подозреваю, что большинство людей, которые используют TR1, не использует массивы, но использует vector<> вместо этого.

я не считал TR1, таким образом, я отвечу на основе Повышения, которое, вероятно, достаточно хорошо. повышение:: shared_ptr<> имеет дело с отдельными объектами и не массивами. Это что повышение:: shared_array<> для.

, Если Вы используете массивы и имеете причины преобразовать в shared_array<>, но не к vector<>, используйте shared_array<>.

1
ответ дан 1 December 2019 в 03:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: