【发布时间】:2011-07-28 12:26:16
【问题描述】:
我声明了一个变量string s;
然后执行s = "abc"; 现在它有 3 个字符的缓冲区。
之后
s = "abcd" 它有一个 4 个字符的缓冲区。
现在在第三个语句之后
s = "ab" 问题是它会保留 4 个字符的缓冲区还是重新分配一个 2 个字符的缓冲区?
如果它将分配 2 个字符缓冲区,我有什么办法可以告诉它保留分配的最大缓冲区。
那么它是否保留了曾经分配的最大大小的缓冲区?
s = "ab"
s="abc"
s="a"
s="abcd"
s="b"
现在它应该保留一个大小为 4 的缓冲区。
这可能吗?
【问题讨论】: