Я пытался выяснить, как массивы Smart Pointer работают с тестовой программой, предназначенной для чтения в файле по одному символу за раз и сохранения каждого символа по указателю в указанном массиве. Однако у меня возникли проблемы с увеличением указателя, чтобы установить более поздние переменные массива. Хотя без умных указателей я мог бы просто напечатать, например,
char *check = new char[length];
for (int i =0; i < length; i++);{
*check=='a';
check++;
}
, и это позволило бы мне присвоить значение каждому указателю в массиве указателей, делая то же самое с массивом умных указателей, что приводит кследующая ошибка в строке 'check ++',
//This is the smart pointer I've been using, for reference;
std::shared_ptr<char> right(new char(length));
error: no 'operator++(int)' declared for postfix '++' [-fpermissive]
На мгновение давайте забудем, что скобочная запись не существует (она работает, но я хочу знать, как это сделатьэто в обозначении указателя), поэтому я могу увеличить или получить доступ к будущим указателям надежным способом, чтобы я мог использовать его в таких вещах, как циклы для ввода значений в каждом указателе массива интеллектуальных указателей.