-1
昨天我遇到了一个奇怪的行为,在C++中的一个char指针数组的情况下。数组的char指针初始化奇怪的行为
下面是代码示例:
int main() {
char *args[] = {(char *) std::to_string(12345).c_str(), (char *) std::to_string(12346).c_str()};
printf("%s %s\n", args[0], args[1]);
return 0;
}
,输出是:
12346 12346
我想,答案应该是 “12345 12346”。任何帮助? 我唯一的编译标志是-std = C++ 11,我使用g ++。
此外,你不应该抛弃的常量在char *从c_str返回 –
为了最有帮助,您应该展示如何更正代码。 – Barmar
非常感谢你们。现在有道理。 – balexios