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

Итератор класса vector - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание стека - код не компилируется http://www.cyberforum.ru/cpp-beginners/thread1024528.html
Пытаюсь разобраться с динамическими структурами данных. Списал код, но не компилируется #pragma hdrstop #pragma argsused #include <tchar.h> #include <iostream.h> void main() { struct Stek
C++ Ошибся в цикле for Я хотел что бы программа выдала все числа от 0 до 9 включительно с шагом 0.1, программа не выдаёт ошибки но шаг делает всё равно 1. Где я ошибся? #include <iostream> using namespace std; int main(double argc, char *argv) { double n = 0; for(double i =0; i < 10; i + 0.1) http://www.cyberforum.ru/cpp-beginners/thread1024517.html
C++ после цикла while символьный массив обнуляется?
Собственно сабж. Подскажите, в чем проблема int RemoveChar(char *_str, int _strt, int _amt) { int i = 0; #ifdef CHECKING while(*_str++) i++; <- После цикла массив пустой if(i < _amt) return -1; #endif for(i = 0; i < _amt; i++, _strt++)
C++ Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне
Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне.
C++ Обработка матриц http://www.cyberforum.ru/cpp-beginners/thread1024465.html
Имеется код! void maxToArr(int ar,int matr, int nRow, int nCol){ int max=matr; for(int i=0;i<nRow;i++) for(int j=0; j<nCol; j++) if(max<matr){ max=matr; ar= max; }
C++ Обращение к элементам массива используя указатель Необходимо написать программу, выделив под массив динамически память. Обращаться к элементам массива необходимо используя указатель. #include <iostream> void main() { setlocale(LC_ALL, "Russian" ); printf ("Задание: В одномерном массиве, состоящем из n целых элементов, вычислить: \nномер максимального элемента массива; произведение элементов массива, \nрасположенных между первым и вторым... подробнее

Показать сообщение отдельно
Hanixer
1 / 1 / 1
Регистрация: 06.11.2013
Сообщений: 31
01.12.2013, 01:56     Итератор класса vector
Доброго времени суток.
Попалась задача, в которой нужно определить итератор с проверкой выхода за пределы допустимого диапазона для класса vector.
Никак не могу понять
1) как итератор должен узнать о начале вектора,
2) как должна проходить инициализация итератора,
3) как отображать конец вектора?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class iterator {
            double* ptr;
            const double* begin;       //нужен ли итератору указатель на первый элемент вектора?
        public:
            iterator(double* d) : beg(d), ptr(d) {}
            iterator(double* base, int n) : beg(base) { if (n<=sz) ptr = base+n; }
            iterator& operator++();
            iterator& operator--();
            double& operator*();
            double& operator[](int);
            iterator& operator+(int);
            iterator& operator-(int);
    };
Помогите кто чем сможет.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru