在c++中获取结构的参数名称
Getting parameter names of the struct in c++
有没有办法在C++中获得在结构中声明的所有参数名称?
struct tables
{
struct numbers
{
int values;
};
struct people
{
int id;
string firstname;
string lastname;
};
struct subjects
{
int id;
string name;
int year;
};
struct sale
{
string name;
int size;
bool environment;
double v;
};
};
例如,我想知道tables->sale
结构中参数的名称。我该怎么做?
在当前的C++中,无法从语言中确定类类型的成员。最好的选择是创建一个合适的声明处理器,该处理器提供成员的合适表示。例如,您可以使用clang来解析C++代码,并编写允许某种形式反射的辅助声明。
C++的未来版本有望包括一些反思,但反思研究小组(SG7)还没有真正开始制作任何准备纳入C++标准的东西。
如果您在C++中需要大量的反射/内省功能,您可能需要查看Qt,它允许您为类定义属性,然后可以查询其属性。
相关文章:
- 使用不带参数的函数访问结构元素
- 将结构字段的类型展开为可变模板参数
- MSVC将仅移动结构参数解释为指针
- 如何使我的 sizeof sum 结构与空参数包一起工作
- 如何传递带有通过引用传递的结构参数的函数?
- 展开可变参数模板结构
- 在类构造函数中定义结构变量的参数
- 如何在方法中传递结构参数
- 我应该在C++中将这些结构用作参数化构造函数吗?
- 带参数的数据结构的全局声明
- C++ 带有默认参数的结构,可选择在构造函数中更改
- C++-将具有引用的长参数列表重构为结构
- 为私有结构定义双参数运算符重载
- 我们可以用参数化构造函数初始化结构的数组吗?
- 关于类的想法 参数结构给定实现
- 重映射模板参数结构
- 从C 调用的编译MATLAB函数的输入参数结构
- 如何实现具有不同参数结构的纯虚拟函数
- 如何在C++中获得可更改的函数参数结构
- 函数参数 -> 结构体成员的 void* 和常量 void* 的解决方案