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

Checked_iter - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Быстродействие http://www.cyberforum.ru/cpp-beginners/thread928426.html
Что лучше использовать, если быстродействие системы достаточно важно, а элемент используется часто? template <typename T> struct Point { T x, y; }; template <typename T>
C++ Не работает openmp Написал простенькую программку с распараллеливанием собрал откомпилил, но распараллеливания нет. Программка выглядит так: -------------------------------- #include <iostream> #include <omp.h>... http://www.cyberforum.ru/cpp-beginners/thread928416.html
C++ Каким образом getchar() меняет содержимое массива?
Здравствуйте! Почему-то наличие getchar(); в коде влияет на содержимое массива. Если данный код не менять - то выводит правильный результат. Результат представлен на первом скрине. Если удалить...
C++ клас myDate
Создайте класс Date, который будет содержать информацию о дате (день, месяц, год). С помощью механизма перегрузки операторов, определите операцию разности двух дат (результат в виде количества дней...
C++ Не могу побороть wxDevC++ - на Hello world "Проект не откомпилирован" http://www.cyberforum.ru/cpp-beginners/thread928353.html
Хотел попробовать wxDevC++ в деле. Установил. Само собой, для начала сделал Hello, world. И вдруг выскакивает окно "Проект не откомпилирован"... и никак не поборю это дело. Текст-то классический:...
C++ Определить какое число Данная последовательность: 19, 39, 59, 79, 99, 119 ... И нужно определить, если введенное число относится к этой последовательности. Возможно ли это сделать вписав только одно условие? подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
26.07.2013, 03:44  [ТС]
ForEveR, Да понятно а от арифметические операции над указателями, итератор это можно сказать указатель, от есть у нас int* p. Первый элемент допустим указывает на 2000, второй на 2004, третий на 2008, от если мы отнимим от второго первый элемент(2004-2000) мы должны получить 4, а на самом деле мы ж получим 1. Так что получается оно само автоматом делит на 4. Это примерчик из какой то книги или статьи, не помню, про арифметику указателей.
Цитата Сообщение от Croessmah Посмотреть сообщение
Долго посмотреть?
Да смотрел и не раз, токо там мало что понял, токо глянул вроде понятнее стало, но все рамно зачем он используется, затем чтобы задать обобщенный тип? iterator используется для того чтобы задать какой то определенный тип итератора, а iterator_traits (черты итератора) чтобы задать как бы все итераторы?
Он походу так же используется как и unique_function, для того чтобы просто задать имена typedef с известными именами

Добавлено через 15 часов 41 минуту
ЕСть еще задание: "Переделайте Checked_iter так, чтобы проверять недействительные итераторы."
Как его сделать? Недействительные итераторы это когда мы создали этот итератор, а затем изменили resize() размер контейнера и некоторые итераторы могут стать недействительными. Как же мне это сделать? Нужно наверно в каждом методе, разыменование, инкремент, декремент перепроверять диапазон? В книге нету примера, нужно самому додумать.
Давайте попытаемся просто теоретически разобрать, без кода!!!!

Добавлено через 7 минут
От код, который не работает так как нужно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    try
    {
        cout <<*p<<endl;
        ++p;
        //ls.resize(2);
        cout <<*p<<endl;
        ++p;
        ls.resize(2);//делает p недействительным
        cout <<*p<<endl;
        //cout <<"p-p1 = "<<(p-p1)<<endl;
 
    }
    catch(out_of_bounds)
    {
        cout <<"event be except"<<endl;
    }
 
    return 0;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru