Описание тега ranged-loops
В настоящее время почти на каждом языке программирования есть удобный способ написать цикл for для диапазона значений. Наконец, C++ имеет ту же концепцию; вы можете предоставить контейнер для цикла for, и он будет перебирать его.
2
ответа
Как улучшить производительность в цикле Excel VBA For с вложенным циклом If?
Это мой первый пост, поэтому, если мне нужно внести какие-либо изменения, пожалуйста, дайте мне знать. Я нашел несколько примеров способов оптимизации циклов, но я не могу применить какой-либо из них эффективно к моему коду. То, что я пытаюсь сделат…
08 дек '15 в 21:43
1
ответ
Почему мой пользовательский итератор требует оператора вызова в диапазоне, основанном на циклах?
Ссылка на mcve. Мы определяем матрицу, которая будет повторяться как по строкам, так и по столбцам. Вот реализация строкового итератора: template<class Real> class RowIterator { public: RowIterator() { } RowIterator(Real* begin, size_t rows, s…
11 июн '16 в 10:37
2
ответа
Как можно реализовать мой цикл for for ranged?
Мне действительно нравится Ranged-based-for-loop, который поддерживается C++11 и выше. Я хотел бы по какой-то причине понять, чтобы смоделировать это. Вот пример: // 1 //#define ranged_for(X, T) \ // for (std::vector<int>::iterator beg{ T.begi…
28 дек '18 в 21:19
3
ответа
C++: двоичный поиск дерева end() итератор
У меня есть базовая (без рандомизации, упорядочения и т. Д.) Реализация BST. Я хочу добавить реализации итераторов и сделать BST подходящим для цикла for на основе диапазона. Так что мне нужно функции член функции begin(), end() и увеличение итерато…
20 ноя '14 в 15:43
2
ответа
Ошибка: привязка const double к ссылке типа double и отбрасывает квалификаторы
Я получаю ошибку привязка const double к ссылке типа double и отбрасывает квалификаторы при компиляции: g++ -std=c++11 main.cpp main.cpp: In function ‘Point square(const Point&)’: main.cpp:14:28: error: binding ‘const double’ to reference of typ…
09 янв '18 в 03:30
0
ответов
Как пройти через один и тот же диапазон для всех листов?
У меня есть код Excel VBA, который будет смотреть на процесс (на листе, помеченном как "Процесс A") и создавать блок-схему на листе, помеченном как блок-схема. Проблема в том, что у меня может быть до 15 разных процессов (на 15 разных листах, помече…
15 авг '18 в 16:09
3
ответа
Основы C++: ранжированный цикл for и передача массивов в стиле C в функции
Я пытаюсь изучать C++, но я просто не могу обдумать этот код здесь, несмотря на то, что трачу много времени на поиск ответа: #include <iostream> void printArray1(int (&array)[3]) { for(int x : array) std::cout << x << " "; } vo…
01 май '16 в 23:13
3
ответа
Можно ли использовать приведение как "нарезка массива" в C++11
У меня есть общая память, заполненная специализированным оборудованием. Он объявлен как массив структур, например: struct port { int data[10]; char port_id[8]; } struct bus { port ports[5]; char bus_id[8]; } struct bus busses[10]; Я (пере) изучаю C+…
06 ноя '16 в 01:20
2
ответа
Получение индекса предмета в ранжировании на основе вектора
В C++11 появился цикл for на основе рангов, который реализован внутри с использованием (const) итераторов, так что это: std::vector<std::string> vec; for(std::string &str : vec) { //... } в основном эквивалентно более многословному (да, эт…
11 окт '16 в 15:22
1
ответ
Странная проблема с диапазоном для цикла
Я работаю над изучением векторов в моем C++ объектно-ориентированном 1 классе, и мы ввели концепцию диапазона, основанного на циклах. Я решил практиковать циклы, основанные на диапазоне, отдельно, чтобы привыкнуть к синтаксису, но натолкнулся на стр…
01 апр '16 в 14:51
2
ответа
Получение ссылки на разыменованный элемент из контейнера указателей по диапазонному циклу
Дано контейнер указателей на ints, как я могу увеличить intбез использования оператора разыменования * в теле цикла {}? Вот реализация с оператором разыменования в теле цикла: #include <vector> #include <iostream> using namespace std; in…
09 авг '14 в 00:46
1
ответ
Обернуть дескриптор итерации для использования в циклах for на основе диапазона
Я использую API, который поставляется с функциональностью итерации, используя void* справиться. void* handle = BrowseInit(); while (BrowseGetNext(handle)) { // ... int x = BrowseGetData(handle); } BrowseFree(handle); Как мне обернуть это в итератор …
22 июл '14 в 16:36
2
ответа
Цикл foreach / forvalues в R
Я довольно хорошо разбираюсь в циклах в Stata и пытаюсь запрограммировать что-то подобное в R, но я продолжаю получать сообщения об ошибках - есть идеи, почему этот цикл не работает? У меня есть лист Excel с данными с отдельными вкладками для каждог…
21 сен '18 в 20:41
0
ответов
Реализация циклического цикла в пользовательском хешированном наборе: доступ только к записям, не помеченным как пустые
Базовая настройка контейнера Я реализовал простой пользовательский неупорядоченный набор контейнеров, который использует хеширование. Внутри он хранит данные примерно так: class Set { T *data = nullptr; bool *emptyList = nullptr; int size = 0; ... (…
04 июн '17 в 00:34
1
ответ
C++ Ranged-based For Loop Efficiency
Когда я впервые начал изучать Java, я помню, как думал о том, как я хотел бы создать цикл для каждого в C++; однако теперь, когда они были добавлены, а я (немного) мудрее, чем раньше, я должен задаться вопросом, действительно ли они более эффективны…
24 окт '15 в 18:26
4
ответа
Как продлить время жизни временного выражения в диапазоне?
Я получаю свисающие ссылки при использовании дальнего цикла. Рассмотрим следующее выражение C++14 (полный пример программы ниже): for(auto& wheel: Bike().wheels_reference()) wheel.inflate(); Это вывод: Wheel() Wheel() Bike() ~Bike() with 0 infla…
14 янв '16 в 11:53
2
ответа
VBA: функция, сравнивающая SUMIFS в разных столбцах диапазона и возвращающая значения Min или Max в соответствии с логическим значением
Я пытаюсь получить суффиксы с двумя параметрами на важном наборе столбцов (количество столбцов не изменится, данные будут), а затем вернуть максимальное или минимальное Function min_or_max(B As Boolean, table As Range, col1 As Range, c1 As Cell, col…
08 мар '18 в 22:11
1
ответ
Переберите диапазон Excel и заполните текстовые поля из диапазона
В настоящее время я работаю над пользовательской формой в Excel. В настоящее время он извлекает список из базы данных и вставляет его в Excel, а затем ссылается на эти данные для автозаполнения в текстовых полях при выборе чьего-либо имени. У меня п…
18 мар '15 в 22:50
1
ответ
Ранжированный для цикла переменных приводит к возвращению адреса-ссылки локальной переменной?
// g++ --std=c++17 test.cpp -I /usr/local/include -L /usr/local/lib -lboost_system -Wall -pedantic -Wreturn-type -Wstrict-aliasing -Wreturn-local-addr -fsanitize=address -g // LD_LIBRARY_PATH=/usr/local/lib ./a.out #include <iostream> #include…
06 мар '17 в 03:06
8
ответов
Ошибка с дальностью для внутренней функции
У меня есть небольшие проблемы с дальнобойным в C++. Я пытаюсь использовать его для отображения элемента в массиве int и int (int[]), и он работает совершенно нормально, когда я делаю это в основной функции, как в: int main(int argc, char const *arg…
24 ноя '16 в 16:35