J64_
offline
Опыт:
4,724Активность: |
С++ Итераторы
Переделывая циклы, на циклы, использующие итераторы, упоролся в одной проблеме.
Но в C++ у итератора нет понятия "не зависимое пустое значение". Поэтому решил переделать так:
И тут компилятор ругается, что нельзя использовать аргументы функции для значения по умолчанию.
А ведь по идее, переменная a создаётся до создания i и j.
В общем, мне напрочь отказаться от значений по умолчанию и\или создать функцию пустышку или как мне надо переделать? |
08.11.2012, 16:30 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
а почему бы не передавать просто указатель на вектор,а сами итераторы внутри цикла ставить? |
08.11.2012, 17:06 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
Nerevar: Потому что цикл может начинаться не с начала, и заканчиваться раньше конца. |
08.11.2012, 17:28 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Judycaster64, нельзя использовать параметры как аргументы по умолчаю. Юзай перегрузку функций
|
08.11.2012, 22:41 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
при передаче начального и конечного итераторов передача самого вектора избыточна
df Hunter добавил: ну, стоит уточнить, что это в случае, если не идёт речь об изменении структуры контейнера Отредактировано df Hunter, 18.11.2012 в 19:11. |
18.11.2012, 19:04 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|