Почему нельзя с помощью итератора выводить адрес объекта на который он в контейнере указывает

Рейтинг: 0Ответов: 1Опубликовано: 17.02.2023

Почему нельзя с помощью итератора выводить адрес объекта на который он в контейнере указывает, если я хочу, скажем, узнать последовательность адресов?

int main()
{
    std::forward_list<int> list;
    list.push_front(5);
    list.push_front(4);
    forward_list<int>::iterator it=list.begin();
    cout<<it;
    cout<<*it;

Ответы

▲ 4Принят

Итератор - не адрес, но его разыменование дает ссылку на элемент, так что

cout <<&(*it);

выведет адрес, по которому хранится соответствующий int.

"По-моему, так" (с) Пух"