
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.06.2007, 13:12
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
Добрый день! Не пойму, как правильно сделать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 13:17
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Это хотели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 13:26
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
Тогда в ф-и const не нужен, но можно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Ф-я f() не моя, как в неё итератор передать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 13:57
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
DronordФ-я f() не моя, как в неё итератор передать? да так и передавать: f(i) - итератор-же суть указатель :)) - ну т.е. нечто, работающее как указатель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 15:07
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
gcc 3.4.6 говорит нет подходящей функции, а static_cast<const int *>( i ) не может сконвертить. Ниразу не встречал конструкции &(*i), может это и нормально. =\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:02
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
Dronordgcc 3.4.6 говорит нет подходящей функции, а static_cast<const int *>( i ) не может сконвертить. Ниразу не встречал конструкции &(*i), может это и нормально. =\ В этом случае вы передаете не иттератор, а указатель на элемент. Это конструкция, вполне, нормальная, т.к. *i возвращает вам значение по ссылке, а далее вы получаете на него указатель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:04
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
DronordТогда в ф-и const не нужен для вас не нужен. Это вам говорит только лишь о том, что значения по этому указателю не изменятся. Он нужен для самой функции, что бы компилятор проводил проверки. Допустим программист случайно изменяет значения. Тогда компилятор ему сообщит об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:09
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
Akh , const не нужен в Вашем листинге, где Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:12
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
Коллеги, ещё вопрос. Итератор же быстрее доступа по индексу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:23
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
Dronord Akh , const не нужен в Вашем листинге, где Код: plaintext Тогда верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:25
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
DronordКоллеги, ещё вопрос. Итератор же быстрее доступа по индексу? Думаю зависит от реализации. Во всяком случае не медленнее будет инкремент указателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:42
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:48
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
Dronord Ф-я f() не моя, как в неё итератор передать? Можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:55
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
батрак , нельзя. Ф-я не моя! =) Т.е. не могу её изменить. Так бы, конечно, у меня было бы Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 16:59
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
Dronord Код: plaintext Ну и к чему эта лишняя косвенность? Лучше бы по значению передал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 17:03
|
|||
|---|---|---|---|
|
|||
C++ итератор как параметр функции |
|||
|
#18+
Коллеги, проблема решена. Спасибо Akh 'у. blinded, у меня не int, а здоровенный объект, потому там указатель, а в моем последнем листинге ссылка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2007, 17:13
|
|||
|---|---|---|---|
C++ итератор как параметр функции |
|||
|
#18+
Dronord wrote: > Добрый день! > > Не пойму, как правильно сделать? > #include <iostream> > #include <vector> > > void f( const int *i ) > { > std::cout << *i << std::endl; > } > > int main() > { > std::vector<int> v; > v.push_back(1); > std::vector<int>::const_iterator i = v.begin(); > f( &(*i) ); > return 0; > } Насколько я понимаю, вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. передавать нету смысла. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&tablet=1&tid=2028639]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 497ms |

| 0 / 0 |
