char* cc = "Something string like";
char* ccn = new char[2];
ccn[0] = 'a';
ccn[1] = '\0';
cout << cc;
Run Code Online (Sandbox Code Playgroud)
第二个指针,为了防止内存泄漏,应该是delete[]'但是如何检测指针是否实际指向新的内存(如第一行中的那个)?第一个字符串在哪里创建?
小智 8
不,您不能,并且您不应该以期望您能够这样做的方式设计您的应用程序.关于创建第一个字符串的位置的问题 - 答案是"编译器方便的地方" - 它不是由C++标准指定的.
解决这个问题的明显方法是不使用char数组,而是使用std :: strings.