关于c+中字符串的问题+; 这是否在C++中使用字符串? string s="lomi"; cout<<s<<endl; string s=“lomi”; 简短的回答:是的
长答案:关于c+中字符串的问题+; 这是否在C++中使用字符串? string s="lomi"; cout<<s<<endl; string s=“lomi”; 简短的回答:是的,c++,C++,长答案:string s=“lomi”由于字符串(const char*)构造函数而起作用。是 (拥有后#包括d相应的标题,并使用std名称空间等) 编辑:你的代码错在你应该 #include <string> #包括 而不是 #include <cstring> #包括 cstring是,它定义了操作C字符串的函数,如strlen、strcpy等,即char* 字符串< /C>定义了您使用的C++的代码>字符串< /Cuth>类。 记住首先要这样做:
string s=“lomi”
由于字符串(const char*)
构造函数而起作用。是
(拥有后#包括
d相应的标题,并使用std
名称空间等)
编辑:你的代码错在你应该
#include <string>
#包括
而不是
#include <cstring>
#包括
cstring
是,它定义了操作C字符串的函数,如strlen
、strcpy
等,即char*
<代码>字符串< /C>定义了您使用的C++的代码>字符串< /Cuth>类。
<是的,C++中的CUT知道如何处理字符串作品-对你有用吗?< /P>
记住首先要这样做:
#include <ostream>
#include <string>
using namespace std;
#包括
#包括
使用名称空间std;
是的,如果您想打印“lomi\n”,并且您已经包含了
和
并使用名称空间std声明了,那么它应该编译并工作代码>编译并运行该代码时发生了什么?公平地说,在一个编译器上运行的东西不一定在另一个编译器上运行,但我怀疑这个问题的本意是问这是否会调用未定义的行为,而它显然不会。当然不会:没有包含,符号也未定义(您需要使用std::
)对它们进行限定。使用#include而不是#include您可以在codepad.org上测试这样的代码,而无需在您的机器上编译。请尝试使用std::cout string s=“lomi”调用构造函数,而不是赋值运算符。@Alexandre C:我绝对不建议使用using namespace
指令。它脏而且容易发生冲突。最好使用std::cout;
语法样式来提升完全限定或。@davit:您使用了什么编译器?使用gcc可能会导致类似的问题我现在使用Visual C++ 2010代替G++。
#include <ostream>
#include <string>
using namespace std;