可能重复:
std :: string及其自动调整内存大小
我只是很好奇,字符串是如何存储在内存中的?例如,当我这样做时:
string testString = "asd";
Run Code Online (Sandbox Code Playgroud)
它分配4个字节,对吧?a + s + d + \0.
但是后来,当我想为这个字符串分配一些新文本时,它可以工作,但我不明白如何.例如,我这样做:
testString = "123456789"
Run Code Online (Sandbox Code Playgroud)
现在它应该是10个字节长.但是如果没有这种字符串的空间呢?假设字符串开头的第五个+第六个字节被其他一些字符占用.CPU如何处理它?它在内存中找到了全新的位置,该字符串适合?
我有一大堆需要转换为字符串的整数.该数组的长度约为1000-10000英寸,所有这些整数的值都在0-9之间.有没有任何快速有效的STANDARD方法将整个int数组转换为字符串?它必须只使用标准库来完成.谢谢.