我有一个关于在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
is uint32_t
, mpBegin
/mpEnd
是 T* 指针。
我不明白从 (mpEnd - mpBegin) 到 uint32_t 的转换如何等于向量中的元素数。不应该除以sizeof(T)
吗?否则我们只是得到向量中所有元素的字节大小?
我错过了什么?
编辑:除非 EASTL 向量不遵循向量的 stl 定义,但我在它上面找不到任何数据,据说它可以用 eastl 向量替换 stl 向量