Как я понимаю, std :: vector выделяет/де-распределяет всю память, которую он требует каждый раз, когда его элементы растут или сжимаются, поэтому арифметика указателя может использоваться для итерации векторных элементов.std :: list реализация и указатель arithemetic.
std :: list с другой стороны использует двойной связанный список, каждый элемент указывает на следующий и предыдущий элементы.
Предполагая (возможно, ошибочно), что std :: list выделяет его память динамически, поэтому память распределяется, если и когда требуется, поэтапно. Как std :: list все еще может предлагать арифметику указателя как средство для итерации его элементов ?.
'std :: list' не предоставляет арифметику указателя для итерации. – juanchopanza
Можете ли вы привести пример того, что вы считаете «std :: list»? – SirGuy
begin() возвращает итерацию, поэтому я предполагаю, что могу использовать такие операторы, как iter ++ http://en.cppreference.com/w/cpp/container/list – tuk