Я знаю, спрашиваю, почему? это плохой вопрос для этого сайта, поскольку мы не можем знать. Однако я имею в виду это как разговорную замену для запроса, каковы возможные причины?
Я обнаружил, что пишу, естественно,
foo->[i];
и удивлен, узнав, что это не сработало. Я хотел написать:
(*foo)[i];
Я уверен, что больше всего вижу, что я имею в виду, но чтобы быть ясным, я думал, что
bar.subscript(i);
foo->subscript(i);
будет аналогично
bar.operator[](i);
foo->operator[](i);
Но это, похоже, не так. Почему? Я уверен, что я должен смотреть на что-то не так, но я не могу понять, что. Я знаю очень мало теории, поэтому было бы оценено объяснение мирянина.
Если в моей аналогии нет очевидной ошибки, то каковы возможные причины, по которым разработчики языка могли покинуть оператор? Является ли это неоднозначным? (Если это так, как ошибочное для чего?)
Я хотел бы внести некоторые комментарии в редактирование в соответствии с рекомендацией @chris, поскольку я не был так ясен, как должен был быть:
OP предлагает оператор → [], комбинацию из двух.
- chris
Он спрашивает, почему то, чего он хочет, не существует, а не почему код, который он пытается написать, не работает.
- Matthew 'Cogwheel' Orlando