您可以将多少“数据”放入字符串中?

时间:2011-05-02 03:29:50

标签: c++ string

作为程序员,我们经常使用字符串。大多数时候,我使用它们而不会过多地考虑它们。最近,我一直在使用字符串从函数中返回大量信息而没有任何问题。我最新的例子是一个包含10个1000条目的二叉树。我有一个递归函数,只是在最后添加一个换行符字符串。这个功能毫无困难。

那么你可以在一个字符串中放置多少个字符,或者你只受可用内存量的限制,有什么“限制”吗?

3 个答案:

答案 0 :(得分:5)

  

成员max_size会返回字符串对象可以达到的大小的实际限制。

来自http://www.cplusplus.com/reference/string/string/capacity/

特定于max_size的链接:http://www.cplusplus.com/reference/string/string/max_size/

所以是的,这是具体的实施。

答案 1 :(得分:2)

不,唯一的限制是可用的连续内存。字符串长度没有人为限制;字符串的长度保存在size_t变量中,其最大值是系统中最大的可寻址字节(无论是8或16或32或64位还是其他)。

答案 2 :(得分:0)

虽然很大但不是无限的。您可以使用string::max_size返回字符串对象可以容纳的最大字符数。请注意,返回的值可能因系统而异。