Вопрос:Доступ к многомерным C++ станд :: вектор
Если у меня есть указатель на 1D станд :: вектор я могу получить доступ к его содержимому через функцию at(index)
как
std::vector<T> *ptr_to_vec;
T vec_value = ptr_to_vec->at(index);
Есть ли способ использования этого для многомерного std :: vector, или я застреваю с разыменованием указателя?
std::vector<vector<T> > *ptr_to_2Dvec;
T 2Dvec_value = (*ptr_to_2Dvec)[index1][index2];
Я хотел бы избежать разыменования указателя в коде.
так что не так с 'ptr-> at (index1) [index2]'? Кстати, вы ** понимаете, что оператор '->' также разделяет указатель? Кроме того, будет работать и оператор 'ptr-> [] (index1) [index2]'. –
У вас есть указатель на «что-то». Вы не получаете этого «чего-то» без разыгрывания, Liking это не имеет значения. – WhozCraig
Самый эффективный способ избежать указателей разыменования, в моем личном опыте, - не использовать указатели. – molbdnilo