Форум программистов, компьютерный форум CyberForum.ru

Обращение к элементам вектора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как измерить, сколько времени считала программа? http://www.cyberforum.ru/cpp-beginners/thread336124.html
Запускается прога, запрашивает число (например 1000), включается таймер (или читается время из winXP), идёт расчёт (например сумма от 1 до запрошенного числа), потом выключается таймер (или читается второе время с оси), и на экран выводится время, которое было затрачено непосредственно на расчёт, повтор проги с начала... Как обычно измеряют время?
C++ Как в конструкторе класса передать параметром указатель на функцию? Друзья! Вот тут всё понятно, есть класс, в котором приватная функция f_0, в конструкторе передаётся указатель на функцию f_1. Эта функция (f_0 или f_1, у них одинаковые прототипы) будет использоваться в классе в дальнейшем, но мне её надо как-то в класс передать. Вот, передаю, не передаётся template <typename T> class klass { public: //Вот тут присваивание klass(void(*f)()){f_0=... http://www.cyberforum.ru/cpp-beginners/thread336101.html
Поиск проблемы C++
#include <iostream> #include <cstring> struct kk{ int k, s; }p; using namespace std; int main()
Отследить ввод с клавиатуры... C++
Доброго времени суток! Господа прошу помочь решить такую задачу: в консольном приложении нужно запретить ввод символов и цыфр, только буквы... Посоветовали мне "юзать getch()" но как его использовать ни примеров, ни объяснений я не смог найти. т.е. я смог после ввода прочитать коды введенных символов, но хотелось бы прямо во время нажатия на клавишу блокировать ненужные символы (знаки и...
C++ Аналог модуля Делфи в С++ http://www.cyberforum.ru/cpp-beginners/thread336079.html
Соббсно, в теме и есть вопрос. Есть модуль в делфях, а что есть аналогичное в С++??? . У нас преподают паскаль и тут задача поступила небольшая - написать программку(неважно какую) , используя модули. Я так чуток посмотрел, показалось, что это аналог классам. Но уж лучше спросить. Спасиб. Добавлено через 1 час 9 минут Неужели никто не знает???. Развейте, пожалуйста, мои сомнения!!!))
C++ массив string void func(string *mas) { //здесь } int main() { string s = { "one", подробнее

Показать сообщение отдельно
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
26.07.2011, 00:53     Обращение к элементам вектора
2 zuq
для доступа к элементам вектора можно использовать итераторы, с проверкой не указывает ли итератор на end(). Этот подход - так называемая идиома STL в использовании контейнеров ( взято из одного из изданий книги Стенли Липпмана ) .
В случае обращения к несуществующему элементу вектора - предсказать результат нельзя заранее.
Вот цитата из книги Стенли Липпман "Язык программирования C++ вводный курс" 4 изд. стр. 119:
Очень важно понять, что оператор индексирования ( [] ) можно использовать для доступа только к фактически существующим элементам.
...
...
Попытка обращения во время выполнения программы к несуществующему элементу является серьезной ошибкой. Подобно большинству подобных ошибок, практически ни одна из реализаций компилятора не обнаруживает их. Результат выполнения такой программы непредсказуем, однако почти наверняка такая программа правильно работать не будет.
...
...
Попытка индексирования несуществующих элементов, к сожалению, является весьма распространенной и грубой ошибкой программирования. Так называемая ошибка переполнения буфера ( buffer overflow ) - результат индексирования несуществующих элементов. Такие ошибки являются наиболее распространенной причиной проблем защиты приложений.
 
Текущее время: 04:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru