Можно ли с помощью shared_ptr объявлять массив int?
Имеет ли смысл объявлять массив int с помощью shared_ptr?
И если да, тогда как это делать? И как обращаться к такому массиву? shared_ptr<int> sh(new int[100]); ???
п.с. вообще есть ощущение, что я не по детски туплю =)
Совсем ленивые люди стали, а покомпилировать, почитать что компилятор пишет и т.п.?
p.get()[1] =1;
Например. У самого умного указателя нет оператора [].
>>shared_ptr sh(new int[100]);
1. Вы говорите, что будете хранить 1 int
2. Вы создаете 100 штук int
3. И результат п.2. присваиваете в п.1, хотя сказали что будете хранить один int
array, vector, valarrey... это все понятно.
но вы все таки не ответили мне прямо. Возможно как то объявить массив указателей на инт, с помощью умного указателя, или нет? Если да, тогда как?
Вы посмотрите как реализован деструктор в shared_ptr
Если он удаляет хранимый обьект через delete[] obj;, то можете использовать,
а вот если delete obj; то нет.
Так что скорее - НЕТ.