我什么时候需要担心size_type?

时间:2014-12-09 08:22:27

标签: c++ c++11 vector size-type

我已经读过,使用std::vector<T>::size_typestd::size_t更便携,但size_type通常是std::size_t。例如,建议更多这样做:

for (typename std::vector<T>::size_type i = 0; i < vec.size(); ++i)
    std::cout << vec[i] << " ";

比这个:

for (std::size_t i = 0; i < vec.size(); ++i)
    std::cout << vec[i] << " ";

这似乎很多打字。您不能使用auto,因为初始化程序将推导为int。类型别名是无用的,因为您在使用它时也可以输入它。实际上节省打字的情况并不多。

我试着这样做:

template<typename T>
struct size_type
{
    using type = typename std::vector<T>::size_type;
};

但它最终只是typename size_type<T>::type,这与打字一样多。

到目前为止,std::size_t是最短的输入内容。你什么时候需要担心size_type

0 个答案:

没有答案