У меня есть класс, я переопределяю оператор [], и он отлично работает, если у меня есть экземпляр класса внутри метода. Но если вы хотите передать его в качестве указателя, мне нужно сделать это для вызова оператора:
function(MyData * myData){
int myInt = myData->operator[](i);
}
Это выглядит очень уродливо, я мог бы просто не использовать оператор и определить правильную функцию.
Я спрашиваю, есть ли сахар syntacti c, я нуб, поэтому я не уверен, но я мог бы, вероятно, сделать конструктор копирования или что-то еще и скопировать материал в стек и используйте оператор правильно, но это медленно, я бы предпочел получить доступ к памяти напрямую.