[不好意思没分了]C++有一句话没读懂。
从逻辑上来讲,size() 成员函数似乎应该返回整形数值,或如 2.2 节“建
议”中所述的无符号整数。但事实上,size 操作返回的
是 string::size_type 类型的值。我们需要对这种类型做一些解释。
string 类类型和许多其他库类型都定义了一些配套类型 (companion type) 。
通过这些配套类型,库类型的使用就能与机器无关(machine-independent)。
size_type 就是这些配套类型中的一种。它定义为与 unsigned 型(unsigned
int 或 unsigned long)具有相同的含义,而且可以保证足够大能够存储任
意 string 对象的长度。为了使用由 string 类型定义的 size_type 类型是
由 string 类定义。
标红部分没读懂。
提前表示感谢。
[解决办法]
就是这种类型的取值范围与机器无关咯,不管32位还是64位机器,都有相同的取值范围。。。
[解决办法]
任何能使用的机器上都是这样的。。。
[解决办法]
就是说用了 size_type,
代码移植到其他机器的时候,
你不用担心类型的范围是不是会变短了,
是不是不够用了。
[解决办法]
就是说用了 size_type,
代码移植到其他机器的时候,
你不用担心类型的范围是不是会变短了,
是不是不够用了。
[解决办法]
就是可以在任何平台编译器上使用这个类型