operator[]
Допустим есть у меня свой класс контейнер (пускай с int'ами) с перегруженным оператором индексирования.
Мне нужно чтобы при выходе индекса за границы возвращался нуль, &operator[] значение возвращать не будет, т. к. возвращает ссылку, могу использовать operator[] но тогда его возможно использовать только справа от оператора присваивания, и так и так кривое решение получается.
Visual studio 2008:
T &operator[](int x){
if ((x > N-1)||(x <0)){
exit()
}
return c[x];
}
в результате завершает программу. Если же "return c[x]" засунуть в условие соблюдения границ то возвращать ссылку будет вне зависимости входит в границы или нет, что я понять уже не способен.