c++ - 如何显示命名空间中的所有元素?

标签 c++ namespaces

在 C++ 中如何显示命名空间内的所有元素?

可以使用 Doxygen 分离命名空间并打印它们吗?使用 GCC?

我假设我不知道命名空间名称所以我想打印它们,或者我知道一个特定的命名空间名称并且我想知道里面有什么。

最佳答案

C++ 没有反射(例如许多动态语言或 Java 和 .NET),因此在 C++ 中是不可能的。

Doxygen 可以将其数据导出为 XML 而不是 HTML,因此您可以使用 XSLT 样式表将 Doxygen 的 XML 输出转换为您想要的任何格式。

有一个名为 GCC-XML 的 GCC 版本,它不是编译输出已解析的 C++ 代码的 XML 表示形式,在这里您也可以这样做。

最后但同样重要的是,您当然可以为 Clang 的 GCC 创建一个插件并在其中执行(例如,GCC 可以使用使用 Mozilla 的 Dehydra 补丁以 Javascript 编写的插件)。

我建议查看 Doxygen XML 输出。

关于c++ - 如何显示命名空间中的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882668/

相关文章:

c++ - Clang 和 GCC 之间的 const auto std::initializer_list 区别

c++ - 允许在应用程序级别挂载的文件系统库

c++ 'using namespace'的正确位置

c++ - 如何在 header 和 .cpp 文件中正确声明返回自己定义类型的函数?

c++ - 别名 boost::variant 或 std::variant 不可编译

c++ - C++ 中的函数行为

c++ - 对类构造函数 h 文件的 undefined reference

oop - 如何在 OOP 中实现多种类型的对象?

php - 如果可能,如何配置没有命名空间和 psr-4 的 PHPSpec

namespaces - 如何使用在头文件中声明和定义的命名空间?