Здравствуйте, na1s, Вы писали:
N>Здравствуйте, NikeByNike, Вы писали:
NBN>>Здравствуйте, na1s, Вы писали:
NBN>>Я учился — читая STL, пытался понять — зачем сделано так, а не иначе. И соответственно по каждому вопросу лез в учебник.
N>Я просто не смог понять, как описать итератор. В учебнике много нет. А понять STL полностью, я пока не в силах.
В твоем случае итератором является указатель на T.
Он имеет:
1. операторы ++ и --
2. оператор -> и *
в твоём случае:
const T* begin() const { return data; }
const T* end() const { return data + size; }
T* begin() { return data; }
T* end() { return data + size; }
Кроме того:
ты забыл сделать конструктор копирования и оператор копирования.
Кроме того:
Vector(int) лучше записать, как: explicit Vector(int)
P.S.
Настоятельно рекомендую сначала почитать Страуструпа, Мейерса, Саттера, Александреску и иже с ними.