string:不要低估我的能力

来源:互联网 发布:徒知徐州 河决曹村 编辑:程序博客网 时间:2024/04/29 00:52

以前听一个同事说什么string最多能存储512字节长度的字符串,当时给我吓了一跳,数量如此小怎么能满足我的程序需求呢,难道我还得修改以前的程序么。看看MSDN关于sting的帮助,其中有个函数如下:
size_type max_size() const;
The member function returns the length of the longest sequence that the object can control. 
该函数返回该对象的最长的内存管理长度,即如果你的内存足够的大,它可以分配管理max_size大小的内存空间。
OK,
int main(int argc, char* argv[])
{
 string str;
 cout<<str.max_size()*1.0/(1024*1024*1024)<<"G"<<endl;
 return 0;
}
输出为4G,即string最大可以管理4G的内存空间,这么大难道不够用吗?即使内存没这么大,如果有相当大的虚拟内存,windows也会帮你解决这个问题。我曾经测试过用我的电脑(512M RAM),让它去分配1G长的数组,运行时只是速度很慢(大约半分钟的样子),硬盘在不停地转,最后分配是成功的。经验:实践出真知!

原创粉丝点击