c++ - 在模板实现文件中使用命名空间

标签 c++ templates namespaces include header-files

为了保持头文件中的类定义干净,我决定将模板函数的实现移动到另一个 *.h 文件中,我将其包含在主头文件中。现在我想在那里使用 using namespace 来提高代码的可读性。

但是使用命名空间会影响整个应用程序,因为文件包含在 header 中, header 本身也包含在整个应用程序中。命名空间的 using 会散布到文件之外。

我该如何处理?

最佳答案

您可以将 using namespace XX 放在函数定义中,以将 using 声明的范围限定到该函数:

int func( ...args... )
{
    using namespace std; 
    // ... body of function
}

关于c++ - 在模板实现文件中使用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444958/

相关文章:

c++ - 为什么是 'wrong number of template arguments' ?

javascript - 使用下划线外部模板在主干中设置模型内容

ruby-on-rails - 在 rails 中使用命名空间时使用双 Controller ?

c++ - 结构的 Hexdump 没有输出正确的信息

c++ - 使用迭代器按谓词重新排列

c++ - 错误 C2660 : function does not take 2 arguments C++

php - 为什么要使用带有框架的模板引擎?

c++ - 使用类型删除创建运行时 type_traits 查询

c# - 如何避免看似自动引用 "parent"命名空间?

PHP 包含同一库的不同版本