我正在查看另一个开发人员的代码,其中包含以下内容:
std::string name;
...
std::string::size_type colon = name.find(":");
我认为 usingsize_t
会更容易理解并且同样安全,因为 STL 标准规定了std::string
isstd::basic_string<char, std::allocator>
和std::allocator::size_type
is size_t
。
他希望确保 STL 标准永远不会改变以使这个假设无效。如果标准可以改变,那么size_type
将比size_t
.
那会发生吗?有没有其他理由使用size_type
而不是size_t
?