c-可以在没有#include的情况下使用std :: string吗?
作者:互联网
这个问题已经在这里有了答案: > Why does omission of “#include <string>” only sometimes cause compilation failures? 6个
这是我的代码:
#include <iostream>
int main(int argc, char const *argv[])
{
std::string s = "hello";
std::cout << s.size() << std::endl;
return 0;
}
令我惊讶的是,我什至可以不使用#include< string>来编译和运行clang.
因此,是否有必要添加#include< string>为了使用std :: string?
解决方法:
实现的iostream标头包含字符串.这不是您可以依靠或应该依靠的东西.如果要使用std :: string,则应始终#include< string> ;,否则程序可能无法在其他实现上运行,甚至无法在当前版本的更高版本中运行.
标签:c,stdstring 来源: https://codeday.me/bug/20191010/1886921.html