是否可以在C++中创建可修改的字符串文字?例如:
char* foo[] = {
"foo",
"foo"
};
char* afoo = foo[0];
afoo[2] = 'g'; // access violation
Run Code Online (Sandbox Code Playgroud)
这会产生访问冲突,因为"foo"被分配在只读存储器中(我相信.rdata部分).有没有办法强迫"foo"进入可写内存(.data部分)?即使通过一个pragma也是可以接受的!(Visual Studio编译器)
我知道我可以做strdup和其他一些事情来解决这个问题,但是我想特别知道我能不能按照我的要求去做.:)