C++中namespace detail或namespace internal的使用
Posted fengbingchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中namespace detail或namespace internal的使用相关的知识,希望对你有一定的参考价值。
在很多开源代码中偶尔会使用名字为”detail”或”internal”的命名空间,如OpenCV的modules目录中,有些文件中使用了namespace detail,有些文件中使用了namespace internal。
名为detail的命名空间通常与名为internal的命名空间具有相同的使用方式。它们通常用于在公共接口中不可见或至少应被上层用户忽略的”内部细节(internal detail)”。
以下为非常简单的测试代码段:
funset.hpp:
namespace common
namespace internal
char* name();
// namespace internal
// namesapce common
funset.cpp:
namespace common
namespace internal
char* name() return "spring";
const char* city = "BeiJing";
// namespace internal
namespace detail
class Addr
public:
static char* csdn() return "https://blog.csdn.net/fengbingchun";
static char* github() return "https://github.com/fengbingchun";
Addr() = delete;
; // class Addr
// namespace detail
// namesapce common
int test_namespace_detail_internal()
fprintf(stdout, "name: %s, city: %s\\n", common::internal::name(), common::internal::city);
fprintf(stdout, "csdn addr: %s\\ngithub addr: %s\\n", common::detail::Addr::csdn(), common::detail::Addr::github());
return 0;
执行结果如下:
GitHub:https://github.com/fengbingchun/Messy_Test
以上是关于C++中namespace detail或namespace internal的使用的主要内容,如果未能解决你的问题,请参考以下文章
C++基础学习笔记命名空间 namespace 的理解和使用
HTTP Status 404 - There is no Action mapped for namespace [/] and action name [product-save] associa