小编use*_*902的帖子

C++字符串是如何存储的?

可能重复:
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如何处理它?它在内存中找到了全新的位置,该字符串适合?

c++ memory string

8
推荐指数
1
解决办法
2万
查看次数

c ++ int []到string

我有一大堆需要转换为字符串的整数.该数组的长度约为1000-10000英寸,所有这些整数的值都在0-9之间.有没有任何快速有效的STANDARD方法将整个int数组转换为字符串?它必须只使用标准库来完成.谢谢.

c++ arrays string int

1
推荐指数
2
解决办法
6105
查看次数

标签 统计

c++ ×2

string ×2

arrays ×1

int ×1

memory ×1