这是我的程序!我想知道输出背后的原因。
#include <iostream>
using namespace std;
class A{
public:
void fun(int i){
cout<<"Hello World" + i<<endl;
}
};
int main()
{
A obj1;
obj1.fun(2);
return 0;
}
预期输出: Hello World2
实际输出: llo World
PS:为了打印出“HelloWorld2”,我还可以编写 cout<<"Hello World"<< i 的代码。
cout<<"Hello World"<< i
。预期输出为:Hello World2。 - PaulMcKenzie"Hello World"s + i
。在C++11中,类似的事情可以通过用户定义字面量完成。 - phuclv"Hello Worls"s + std::to_string(i)
以避免UB。 - StoryTeller - Unslander Monica