Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:29 06.07.25 
Клубове/ Компютри и Интернет / Програмисти Пълен преглед*
Информация за клуба
Тема STL [re: Pesho]
Автор Colombino (Компетент)
Публикувано23.10.04 11:10  



Прочети втория том от книгата на Строуструп и много неща ще ти се изяснят.
Нещата, разбира се се правят с rbegin(), rend() и reverse_iterator ( const_reverse_iterator ). Аз само ще ти обърна внимание на някои неща.

1. It++
Не трябва да се забравя, че итераторът не винаги е пойнтер. Постфиксната инкрементация е нещо, което би трябвало да се забрани със закон. Виж как изглежда в класа това нещо:

MyClass &operator++(void) // prefix
{
Inc();
return *this;
}

MyClass &operator++(int) // postfix
{
MyClass aCopy = *this;
Inc();
return aCopy;
}

2. array.end() - 1

Итераторите са в йерархия. Последователните итератори са по-базови от тези с произволен достъп. По принцип не е добре за последователен алгоритъм ( обхождане ) да ползваш операция с произволен достъп ( макар итераторът на std::vector да е с произволен достъп). Защо? Защото ако утре се окаже, че std::vector не е подходящ за целите ти и го замениш с std::list, това няма да се компилира. Не е болка за умиране, но се губи целта на обхождането с итератори - ами като си сигурен, че ще имаш произволен достъп, щото е std::vector не се мъчи с итератори, а си го обходи с operator[].
Идеята е да не налагаш изкуствени ограничения, които ще те приковат към контейнери поддържащи произволен достъп.
Същото се отнася и за отношенията iterator/const_iterator. В йерархията на класовете обикновено се правят като базов клас const_iterator и наследник iterator, добавяш функции за модификация. Ако няма да модифицираш ползвай по-базовия клас.


System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_


Цялата тема
ТемаАвторПубликувано
* obhovdane na vector otzad napred Pesho   20.10.04 15:38
. * Re: obhovdane na vector otzad napred Paдo   20.10.04 16:27
. * къф е смисъла от тоя итератор бря? zaphod   20.10.04 18:40
. * Re: къф е смисъла от тоя итератор бря? Potencialen emigrant   20.10.04 21:51
. * а няма ли истински масиви? zaphod   20.10.04 22:40
. * Re: а няма ли истински масиви? Questor   21.10.04 12:14
. * Re: къф е смисъла от тоя итератор бря? Paдo   21.10.04 08:54
. * Re: къф е смисъла от тоя итератор бря? Paдo   21.10.04 08:56
. * Re: obhovdane na vector otzad napred chukumba   20.10.04 22:45
. * Re: obhovdane na vector otzad napred Pesho   21.10.04 09:14
. * Re: obhovdane na vector otzad napred Paдo   21.10.04 10:02
. * и аз така мисля zaphod   21.10.04 19:21
. * Re: и аз така мисля Paдo   22.10.04 10:09
. * Re: и аз така мисля Paдo   22.10.04 10:11
. * става въпрос за следното zaphod   22.10.04 19:30
. * Re: става въпрос за следното ~!@$%^amp;*()_+   22.10.04 21:29
. * Re: става въпрос за следното zaphod   23.10.04 09:47
. * Re: става въпрос за следното ~!@$%^amp;*()_+   23.10.04 18:30
. * бъди сигурен че нищо не съм усложнил zaphod   23.10.04 20:56
. * усложнил си ~!@$%^amp;*()_+   23.10.04 23:19
. * не бе zaphod   23.10.04 23:41
. * Re: не бе ~!@$%^amp;*()_+   23.10.04 23:58
. * и трето решение ~!@$%^amp;*()_+   24.10.04 00:11
. * Re: и трето решение zaphod   24.10.04 10:05
. * Re: става въпрос за следното Paдo   24.10.04 10:08
. * Re: obhovdane na vector otzad napred Rince   21.10.04 14:28
. * Re: obhovdane na vector otzad napred ZZ   21.10.04 14:54
. * STL Colombino   23.10.04 11:10
. * Втори том? pyrx   23.10.04 11:26
. * Re: Втори том? Colombino   23.10.04 11:39
. * Re: Втори том? expeler   24.10.04 16:40
. * Не са бози Colombino   24.10.04 21:46
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.