我确实做了一些工作来理解
来源升级说明说
在64位构建中支持长度>= 2^31字节的字符串。
但是我读了这个链接
和使用size_t
types.h
源代码似乎应该是2^32
在32位构建和2^64
在64位构建我猜?
在实践中它现在是264-1,因为这是size_t
,用于字符串长度的C类型,通常在64位系统上。
然而,在实践中,你实际上不能使字符串那么大,因为没有计算机被创建可以使用接近这个数量的内存。
这个将的意思是,如果你有一台16GB RAM的计算机,你可以想象如果你想创建一个15GB的字符串。不过,您不太可能需要这样做。