Мне дали некоторый код C++, который имеет список/итератор следующей структуры.
typedef struct{
int x;
int y;
}my_struct;
std::list<my_struct> the_list;
std::list<my_struct>::iterator the_iter = the_list.begin();
Затем код получает доступ к x и y из the_iter
следующим образом:
(*the_iter).x;
(*the_iter).y;
Я хочу изменить их на более удобочитаемую версию:
the_iter->x;
the_iter->y;
С моей точки зрения C, это совершенно нормально для разыменования указателя. Это также относится к итераторам? Есть ли причина, по которой мой коллега использовал бы (*pointer).
вместо p->