У меня вопрос о реализации вектора в EASTL
. Ссылка есть here.EASTL векторный дизайн по размеру() метод
А именно, по методу size()
. Вот как это выглядит:
template <typename T, typename Allocator>
inline typename vector<T, Allocator>::size_type
vector<T, Allocator>::size() const
{
return (size_type)(mpEnd - mpBegin);
}
size_type
является uint32_t
, mpBegin
/mpEnd
являются Т * указатели.
Я не понимаю, как отливка до uint32_t из (mpEnd - mpBegin) равна номер элементов в векторе. Разве это не должно быть разделено на sizeof(T)
? В противном случае мы просто получаем размер в байтах всех элементов вектора?
Что мне не хватает?
EDIT: Если вектор EASTL не dosn't следовать СТЛ дефиниция вектора, но я не мог найти какие-либо данные о нем и его якобы можно заменить СТЛ вектор с eastl вектор
ohhh Я вижу, это имеет смысл, спасибо – KaiserJohaan