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

Какие преимущества дают итераторы? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить, сколько чисел последовательности меньше своего соседа слева (цикл For) http://www.cyberforum.ru/cpp-beginners/thread1576930.html
Исходные данные:N последовательностей из K вещественных чисел,которые вводят с клавиатуры.(N и K выбрать самостоятельно:N от 3 до 5. K не менее 10, задать их как константы). Определить,сколько чисел меньше своего соседа слева.Массивы не использовать.
C++ Отсортировать по возрастанию только положительные элементы массива Отсортировать по возрастанию только положительные элементы массива. Как объяснил преподаватель так чтобы положительные отсортировались а отрицательные остались на местах своих. Как подправить подскажите #include <iostream> #include <stdlib.h> #include <time.h> #include <locale.h> using namespace std; int main() { const int max_elem=10; int mas; http://www.cyberforum.ru/cpp-beginners/thread1576910.html
C++ Циклы для графического отображения квадрата (задача)
Здравствуйте, уважаемые члены сообщества. Нашел схожие задачи, но с иной реализацией. Суть - графически отобразить квадрат из символов, количество которых введено пользователем. Не пойму почему программа отказывается работать как надо: #include <iostream> using namespace std; int main() {
Перевод из С++ в С. Структура "Студент" C (СИ)
Кто подскажет что нужно изменить чтобы перевести этот код на язык С #include "stdafx.h" #include <iostream> #include <cstring> #include <windows.h> #include <fstream> #include <iomanip> #include <cstdlib> #include <cstring>
C++ В одно слово переписать буквы а во второе прочие символы http://www.cyberforum.ru/cpp-beginners/thread1576854.html
С введенного слова сформировать 2 новых, в одно с которых записать буквы а во второе прочие символы.На языке С++
C++ Как вставить переменную в строку? Хочу вставить значение buffer а не прописывать путь. Подскажите char* buffer = new char; GetCurrentDirectoryA(MAX_PATH, buffer); CharToOemA(buffer, buffer); std::cout << buffer << std::endl; WinExec("atrib -r \buffer", SW_HIDE); подробнее

Показать сообщение отдельно
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2133 / 966 / 222
Регистрация: 30.11.2013
Сообщений: 3,224
15.11.2015, 14:02     Какие преимущества дают итераторы?
Итератор это указатель на элеммент контейнера, в данном контексте вопроса.

И теперь ваш вопрос: "чем отличается инструмент использующийся при обращения к noda'м (итератор) и способ обращения (обращение по индексу). Что за сравнения холодного и зелёного?

+ Адресс найденого Nod'a можно сохранить и избежать повторного поиска его в дальнейшем (в частных случаях, когда в пределах одного алгоритма не меняется содержимое контейнера и/или поиск элеммента в контейне процесс дорогостоящий).
+ Итератор сразу даст адресс, когда обращение через индекс(для контейнеров где это возможно) начнёт адрессную арифметику (старт + смещение)
- итератор это доп. переменная
- значение итератора не валидно после ряда операций с контейнером(какие почитайте в описании методов)
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru