Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

четверг, 9 сентября 2010 г.

C++. STL. Константный итератор (constant iterator) и реверсивный итератор (reverse Iterator).

Константный итератор не допускает изменения данных, на которые он ссылается. Можно считать константный итератор указателем на константу. Чтобы получить константный итератор, можно воспользоваться типом const_iterator, предопределенным в различных контейнерах.

... если в контейнере итератор ссылается на первый элемент данных, то реверсивный итератор ссылается на последний ...

vector myvec;
myvec.push_back("Hello, ");
myvec.push_back("kitty!");
vector::const_iterator ci;
for(ci=myvec.begin(); ci!=myvec.end(); ci++) {
print(*ci);
}

// Hello,
// kitty!

vector::reverse_iterator ri;
for(ri=myvec.rbegin(); ri!=myvec.rend(); ++ri) {
print(*ri);
}
// kitty!
// Hello,

Комментариев нет:

Отправить комментарий