Согласно Майклу Деханну, который создал Ansible, трюк с запятой, о котором вы говорите, - это хак, на который нельзя полагаться . Это взлом для запуска Ansible без файла инвентаря, для случаев, когда вы собираетесь работать с localhost. Таким образом, вам не нужно создавать файл инвентаря, который просто отображает localhost.
Это корректно, в 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>());
Я подозреваю, что большинство людей, которые используют TR1, не использует массивы, но использует vector<> вместо этого.
я не считал TR1, таким образом, я отвечу на основе Повышения, которое, вероятно, достаточно хорошо. повышение:: shared_ptr<> имеет дело с отдельными объектами и не массивами. Это что повышение:: shared_array<> для.
, Если Вы используете массивы и имеете причины преобразовать в shared_array<>, но не к vector<>, используйте shared_array<>.