请问string aString = "a" + "b" + "c"; 执行这个语句有几次内存分配。

来源:百度知道 编辑:UC知道 时间:2024/06/15 13:06:15
谢谢!请详细说明。

个人理解为四次 当string一个astring分配一次存储空间。当给astring赋值"a"+"b"+"c"时应该又把astring的存储空间分别分配给"a","b","c",所以声明变量加上赋值应该是4次。个人理解不知道对不对。给楼主做个参考

原则上说,应该是4次.
但是因为右边3个都是常量字符串,不知道智能的编译器是否会直接优化成
string aString = "abc";
这样的话就是1次.

2次。 每次累加 就会分配一块新的内存出来!

5次吧,"a","b","c","bc","abc"一共5次

4次,a,b,c 生成的时候 占3个内存地址,如何 string占一个

关注