在c ++中连接字符串和int

sto*_*hos -2 c++ string int pointers

当我遇到一些不太清楚的东西时,我正在用C++做一些练习:

cout << "String" + 1 << endl;
Run Code Online (Sandbox Code Playgroud)

输出:tring

我建议它是指针算术的东西,但这是否意味着每次我在引号中打印一些不属于先前定义的数组的东西,我实际上创建了一个char数组?

Pet*_*ker 7

带引号的字符串(形式上是字符串文字)是一个const char数组,无论您是打印它还是用它做任何其他操作.


Sla*_*ica 5

码:

cout << "String" + 1 << endl;  
Run Code Online (Sandbox Code Playgroud)

具有与此相同的效果:

const char *ptr = "String";
cout << ptr + 1 << endl;
Run Code Online (Sandbox Code Playgroud)

所以不,你不创建一个新的数组,你只需更改指针并将其传递给 std::cout