如果我执行以下操作:
string* create_array(){
string* arr = new string[2];
string s = "hello";
string s2 = "world";
arr[0] = s;
arr[1] = s2;
return arr;
}
是arr[0] = s
制作副本s
然后将该副本放入arr[0]
指向的内存地址的分配吗?还是它使 arr[0] 引用本地堆栈变量s
,在这种情况下,如果我使用从该函数调用返回的数组arr[0]
将产生不可预测的行为?
谢谢