小编Rad*_*nyx的帖子

连接的字符串是如何分配的?

我想知道字符串和内存如何一起工作。

据我所知,我知道当创建一个字符串时,它会将一些字符数组 + '\0' 放入内存中。我也知道它们是一成不变的。那么,对于连接之类的事情,内存中会发生什么,允许您访问相同的字符串?

我不认为您连接的字符串或字符直接放在原始字符串的地址之后,因为这可能会重叠一些所需的内存。

在 C# 和其他语言中,您可以说:

string s = "Hello" ... s = s + '!'

这会创建一个新字符串吗?一个指向一个新位置并显示“Hello!”,而使原始位置永远不会被引用的位置?

或者字符串使用的默认字符缓冲区是否允许连接中存在一些空间?

c++ memory string concatenation

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

标签 统计

c++ ×1

concatenation ×1

memory ×1

string ×1