关于vector.size()和string.length() 的返回类型 size_type

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于vector.size()和string.length() 的返回类型 size_type相关的知识,希望对你有一定的参考价值。

  今天写循环的时候碰到一个问题,发现:string.length()返回的类型是size_type。它是unsigned 类型。string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配。

  如果你的机器是32位的,那么 int  len = str.length(),就侥幸对了。

  如果你的机器是64位的,那么你就 被fuck 了。

  unsigned 类型两个数相减,如果是结果负数,就fuck了!显然不会得到想要的结果

以上是关于关于vector.size()和string.length() 的返回类型 size_type的主要内容,如果未能解决你的问题,请参考以下文章

使用模板类创建我自己的 vector.size 和 vector.capacity 函数?

比较处理 int 和 std::vector::size_type

vector_name、vector_name.begin() 和 (vector_name + vector_name.size())、vector_name.end() 有啥区别?

结构的 vector.size() 将返回啥?

vector::size() 如何在常数时间内返回向量的大小?

C++ std::vector::size() 改变它的状态