C++ 模板元编程,成员变量的数量?

标签 c++ templates metaprogramming

在 C++ 中是否可以确定泛型类中变量/字段的数量? 例如

// suppose I need metaclass number_members determines number of members

struct example { int i, j; };
assert(number_members<example>::value==2);

我查看了 mpl 但找不到实现。

谢谢。

最佳答案

没有。 C++ 不提供对结构的一般内省(introspection)。

你可以试试 C ++0x std::tuple ,它具有一般 POD struct 的一些特性。或者,尝试从 Boost MPL 中推出自己的图书馆。如果您刚开始使用 C++,那会有点高级。

关于C++ 模板元编程,成员变量的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589861/

相关文章:

java - 用于基于 Java 模板的字符串构造的工具

c++ - 组合元函数

c++ - 如何判断一个类型是否派生自模板类?

templates - 用于创建类似于 StackOverflow 的分页 UI/链接的 Knockout 模板

C++、海湾合作委员会 : avoid evaluation of useless expressions

c++ - 向标准模板的特化添加新方法(std::vector、std::list...)

c++ - 调用 clear() 后 vector 的元素仍然可以引用?

c++ - 如何创建一次评估局部静态变量的静态方法?

在 Raku 中测试私有(private)方法

c++ - 如何通过 winsock 发送自定义数据(可能是来自指针的数据)