当我遇到一些不太清楚的东西时,我正在用C ++做一些练习:
cout << "String" + 1 << endl;
输出:tring
我建议它是指针算术的东西,但这是否意味着每次我在引号中打印的东西都不是以前定义的数组的一部分,我实际创建了一个char数组?
答案 0 :(得分:7)
带引号的字符串(形式上是字符串文字)是一个const char数组,无论您是打印它还是用它做任何其他操作。
答案 1 :(得分:5)
代码:
cout << "String" + 1 << endl;
具有与此相同的效果:
const char *ptr = "String";
cout << ptr + 1 << endl;
所以不要不创建新数组,只需更改指针并将其传递给std::cout