这没有显示输出:
int x = 10;
cout<<"Hello C++ " + x ;
Run Code Online (Sandbox Code Playgroud)
但这确实显示输出:
int x = 10;
cout<<"Hello C++ ";
cout<<x<<endl;
Run Code Online (Sandbox Code Playgroud)
问题是什么?他们看起来完全一样。
顺便说一句,我在Visual Studio 2010上使用Visual C ++ 6.0。
因为那不是使用流或字符串的方法。
该+操作是:
std::strings 连接在一起。在这里,您有一个字符串文字和一个数字。+操作员与此不兼容。
(实际上,您最终要做的是将“添加” 10到表示字符串文字的指针上;由于它的长度为十个字符,这使指针恰好位于字符串文字的NULL终止符所在的位置,所以就像试图打印""。)
正如您在第二个示例中发现的那样,正确的方法是再次使用流的<<运算符。
cout << "Hello C++ " << x;
Run Code Online (Sandbox Code Playgroud)