我可以将 iostream 头文件包含到自定义命名空间中吗? [关闭]

2024-01-09

namespace A
{
   #include <iostream>
};

int main(){
 A::std::cout << "\nSample";
 return 0;
}

简短回答:不。

长答案:嗯,不是真的。不过,你可以假装它。您可以在外部声明它并在命名空间内使用 using 语句,如下所示:

#include <iostream>

namespace A
{
   using std::cout;
};

int main(){
 A::cout << "\nSample";
 system("PAUSE");
 return 0;
}

您无法本地化库,因为即使它可以在 A 中访问,它也无法在标准命名空间中访问。

另外,“另一个问题是命名空间内的限定名称将是 A::std::cout,但库不会包含外部命名空间限定的名称。”谢谢乔纳森·莱夫勒。

如果问题是您不想让其他人知道您的所有代码可以做什么,您可以拥有自己的 cpp 文件来包含 iostream,并在其中定义命名空间。然后你只需将其包含在 main (或其他)中,并让程序员知道他可以做什么和不能做什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以将 iostream 头文件包含到自定义命名空间中吗? [关闭] 的相关文章

随机推荐