Описание тега const-iterator
Итератор C++ STL со строго доступом только для чтения.
2
ответа
Ошибка "Нет совпадения для оператора" на простой разнице итератора
Вот мой код: #include <set> #include <iostream> using namespace std; int main(){ set<int> st; st.insert(1); int x = st.find(1) - st.begin(); return 0; } я получаю error: no match for 'operator-' in 'st.std::set<_Key, _Compare, _…
21 апр '15 в 06:12
1
ответ
Противоречивые возвращаемые типы итераторов std::set
Это вторая ошибка компилятора сегодня, которая запутала меня. Так или иначе для кода ниже, gcc жалуется, что в коде есть функция, которая возвращает итератор return_iter возвращать конфликтующие типы std::_Rb_tree_iterator<const int*> а потом …
27 окт '16 в 15:17
2
ответа
Элемент Address Iterator
Наличие Vertice (класс вершин) установлен sХочу попасть в Vertice *address адрес объекта, на который ссылается set<Vertice>::iterator it, Другими словами, address = &(*it); Но возвращается error: assigning to 'Vertice *' from incompatible …
01 ноя '16 в 03:57
2
ответа
Как изменить заданный элемент?
Я хочу изменить элемент в setтак я использовал set<T>::iterator, Тем не менее, компилятор утверждает, что "элемент const". Тогда я понял, что set<T>::iterator это const_iterator... Итак, как я могу изменить элемент? Стереть, а затем вста…
07 мар '12 в 11:31
1
ответ
Функция, работающая с парой итераторов, не работает при параллельном запуске
У меня есть следующая шаблонная функция, которая принимает GameName (std::string) и пару итераторов начала / конца над коллекцией GameTime (size_t). Он перебирает диапазон и добавляет GameTime-ы вместе и возвращает кортеж из названия игры, общего иг…
01 ноя '16 в 20:02
2
ответа
C++ const_iterator не разыменовывается?
Я получаю ошибку во время выполнения при попытке использования const_iterators. Ошибка: итератор списка не разыменовывается. Я понимаю, что const_iterator нельзя разыменовать для назначения значения в списке, но я пытаюсь разыменовать итератор для д…
29 окт '13 в 18:11
2
ответа
typename в зависимой области
Ниже приведена сокращенная версия моего кода, которая дает мне ошибку компилятора. Компилятор говорит мне поставить typename перед 'std::deque::reverse_iterator', что имеет смысл. Но если я это сделаю, я получаю ошибку внизу. Что это значит? Как это…
17 окт '13 в 20:14
2
ответа
Приведение возвращенного итератора к const
У меня есть следующее for утверждение в моем коде: for (auto Iter = Target.begin(), IterEnd = std::stable_partition(Target.begin(), Target.end(), Check); Iter != IterEnd; ++Iter) { /* loop statement */ } Дело в том, что цикл не изменяет элементы кон…
29 авг '18 в 10:47
5
ответов
Функция C++ с max_element & iterator = в 3 раза медленнее
Программа, которую я разрабатываю, становится в три раза медленнее, когда я вызываю следующую функцию. Это не было бы плохо, если бы его не вызывали пару миллионов раз. double obterNormLarguraBanda(const std::vector<double>& v, int periodo…
24 фев '11 в 15:05
1
ответ
QHash не может преобразовать параметр 1 из 'class QHash<class QDomElement, class QDomElement>:: const_iterator' в '::iterator'
У меня есть qhash, определенный с парой ключ-значение как QDomElement. как указано ниже. Я пытаюсь обновить хэш с помощью const_iterator. Но при этом ниже ошибка выдается, как решить то же самое:- error C2664: 'erase' : cannot convert parameter 1 fr…
20 май '13 в 04:37
2
ответа
Техника для факторинга найти как методы?
Я ищу технику, чтобы найти факторы, как методы. Проблема в следующем. Мне нужен метод find для контейнера, который не должен изменять содержимое контейнера для поиска. Однако должна существовать как const, так и неконстантная версия, поскольку это м…
10 сен '11 в 14:55
1
ответ
Определение начальной позиции итератора
Рассмотрим векторный контейнер объектов C++ с полями a и time. Мы хотим найти первый элемент в контейнере, который появляется после текущего времени (назовем его элементом N), а затем выполнить итерацию по контейнеру, начиная с первого элемента, кот…
14 окт '14 в 19:00
2
ответа
Почему компилятор позволяет отправлять ссылку на итератор в функции, которая принимает ссылку на константный итератор?
Я немного запутался с const_iterators. Например, давайте рассмотрим функцию: void functionForConstIterator(std::list<int> const& list, std::list<int>::const_iterator& const_iter) { const_iter = list.begin(); } Теперь я могу напис…
22 июл '16 в 11:10
6
ответов
В чем причина cbegin/cend?
Интересно, почему cbegin а также cend были введены в C++11? В каких случаях вызов этих методов отличается от константных перегрузок begin а также end?
17 авг '12 в 07:16
1
ответ
C++11: стереть, используя const_iterator
Я считаю, что с C++11 erase функция большинства контейнеров (например, std::vector) принимает const_iterator в качестве параметра: iterator erase (const_iterator position); Тем не менее, мои компиляторы (GCC 4.8 и Clang 3.2, оба использующие GCC lib…
13 апр '13 в 12:40
2
ответа
Ввести объект в векторный const_iterator
Привет у меня есть функция, которая принимает std::vector<T>::const_iterator в качестве параметра. Вопрос: Как я могу привести отдельный объект типа T в итератор, чтобы я мог использовать его в качестве аргумента?
29 апр '15 в 17:35
3
ответа
Является ли сравнение const_iterator с итератором хорошо определенным?
Рассмотрим следующий код: #include <vector> #include <iostream> int main() { std::vector<int> vec{1,2,3,5}; for(auto it=vec.cbegin();it!=vec.cend();++it) { std::cout << *it; // A typo: end instead of cend if(next(it)!=vec.end…
14 фев '16 в 10:43
2
ответа
C++ const_iterator нет соответствующего конструктора
Я пытаюсь создать собственный вложенный класс const_iterator для моего класса списков на основе массива. вот класс class const_iterator { private: const T *p; public: const_iterator(const T *l) { p = l; } const_iterator(const_iterator &ci) { p=c…
10 сен '14 в 02:14
1
ответ
Преобразование итераторов и const_iterators
Общий контекст: Я пытаюсь создать контейнер, который будет вести себя как оболочка вокруг многомерного массива заданных во время выполнения измерений - фактически базовый массив, конечно, является одномерным массивом общего размера. Основная часть з…
15 июн '18 в 11:55
0
ответов
C++11: Почему это работает в одном методе, а не в другом в том же классе? Итераторы превращаются в const const_iterators?
Я пишу range_map контейнер, который хранит данные в диапазонах, позволяя вам выбрать точку и получить диапазоны, которые ее покрывают. Как правило, когда диапазон вставляется, его начальная и конечная точки должны быть покрыты одинаковыми диапазонам…
26 май '13 в 10:26