关于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() 有啥区别?