Тема: Метод std::vector::at( )
В якийсь момент, пишучи черговий код-пустишку (чим ж ще зайнятися у вихідні =.=) мені знадобився std::vector і якби це було не дивно, але коли мені потрібно було отримати елемент з вектора я чомусь замість одразу викликати оператор [], натис на . ніби хочу викликати метод (видно машинально) і доповнювач коду моєї IDE ласкаво надав список методів вектора, де засвітився at(). І тут я задумався, а навіщо він взагалі існує? Хтось його в реальних проєктах взагалі використовував? Він, як гидке каченя, але без щасливого кінця.
Наскільки я розумію він був одразу, починаючи з першого стандарту С++ (не ARM), а отже і задумувався коли стандартна бібліотека ще розроблялась Олександром та тим другим, не пам'ятаю, як його звали.
То розробники надихалися Джавою? Чи таки був пропозал, який пропонував добавити "safe" версію оператора []?
А ви як вважаєте, повинен оператор [] кидати виключення чи варто заводити щось типу методу at(), чи краще взагалі не треба?