其他分享
首页 > 其他分享> > c-可以在没有#include的情况下使用std :: string吗?

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&gt ;,否则程序可能无法在其他实现上运行,甚至无法在当前版本的更高版本中运行.

标签:c,stdstring
来源: https://codeday.me/bug/20191010/1886921.html