3652 / 2989 / 828
Регистрация: 25.03.2012
Сообщений: 11,024
Записей в блоге: 1
1

итератор валиден в этой строке?

16.10.2018, 00:45. Показов 1092. Ответов 1
Метки нет (Все метки)

Как известно, итераторы вектора могут портится при определённых операциях, пуш_бэк, например.
Относится ли это к значению end()
Я могу написать типа?
C++
1
2
3
4
5
    std::vector<int> v;
    auto it = v.end();
    v.insert(it, { 1, 2, 3 });
    v.insert(it, { 4, 5, 6 });//it валиден в этой строке?
    return 0;
И вообще, что это за значение? Оно у разных векторов разное, а не типа как глобальное значение npos?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2018, 00:45
Ответы с готовыми решениями:

Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка
не могу понять что должно быть результатом. может подскажете примеры? пожалуйста. Задание:...

Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке
1.Сформировать квадратную матрицу 000001 000020 000300 0n-10000 n00000 2.Дан двумерный...

Что происходит в этой строке?
fstream IN(ordersName); int kit,nKit ; for (int i = 1;IN &gt;&gt; kit &gt;&gt; nKit; ++i) { Вот это...

Удалить в этой строке s последние k элементов
Eсть строка s и число k. Как удалить в этой строке последние k элементов? //char *s; //int k;

1
С чаем беда...
Эксперт CЭксперт С++
9983 / 5337 / 1459
Регистрация: 18.10.2014
Сообщений: 12,831
16.10.2018, 00:50 2
Лучший ответ Сообщение было отмечено Kuzia domovenok как решение

Решение

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Относится ли это к значению end()
Разумеется, относится. Если не произошло перевыделения памяти, то портятся все итераторы, кроме располагающихся перед точкой вставки. Если произошло перевыделение памяти, то портятся все итераторы вообще. Так что end() портится в любом случае.

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
И вообще, что это за значение? Оно у разных векторов разное, а не типа как глобальное значение npos?
В традиционной реализации это просто указатель "за конец" хранимого массива. То есть да, у каждого вектора он свой.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2018, 00:50
Помогаю со студенческими работами здесь

Не понимаю что значит : в этой строке программы
Здравствуйте, подскажите пожалуйста, что значит : в этой строке программы ? class Circle :...

Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке
Задана матрица порядка n и числа k. Разделить элементы k-й строки на диагональный элемент,...

Дано символьная строка. Определить количество пробелов этой строке
вот наброски, но не работает, ошибки пишет( #include&lt;iostream&gt; using namspase std; void main()...

Перевод чисел в строку и прибавление к этой строке другой строки
Есть 2 числа. Сначала мы переводим эти числа в char' ы. Потом нужно создать строку, которая будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru