作为程序员,我们经常使用字符串。大多数时候,我使用它们而不会过多地考虑它们。最近,我一直在使用字符串从函数中返回大量信息而没有任何问题。我最新的例子是一个包含10个1000条目的二叉树。我有一个递归函数,只是在最后添加一个换行符字符串。这个功能毫无困难。
那么你可以在一个字符串中放置多少个字符,或者你只受可用内存量的限制,有什么“限制”吗?
答案 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
返回字符串对象可以容纳的最大字符数。请注意,返回的值可能因系统而异。