相关疑难解决方法(0)

如何将反射添加到C++应用程序?

我希望能够内省一个C++类的名称,内容(即成员及其类型)等.我在这里说的是原生C++,而不是托管C++,它有反射.我意识到C++使用RTTI提供一些有限的信息.哪些额外的库(或其他技术)可以提供此信息?

c++ reflection templates sfinae

242
推荐指数
19
解决办法
19万
查看次数

在参数数量上重载宏

我有两个宏,FOO2并且FOO3:

#define FOO2(x,y) ...
#define FOO3(x,y,z) ...
Run Code Online (Sandbox Code Playgroud)

我想定义一个新的宏FOO如下:

#define FOO(x,y) FOO2(x,y)
#define FOO(x,y,z) FOO3(x,y,z)
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为宏不会在参数数量上超载.

无需修改FOO2FOO3,是有一些方法来定义一个宏FOO(使用__VA_ARGS__或以其他方式),以获得分派的相同的效果FOO(x,y)FOO2,并FOO(x,y,z)FOO3

c macros c-preprocessor

168
推荐指数
6
解决办法
5万
查看次数

迭代C++中的结构

我有一个结构

typedef struct A
{
    int a;
    int b;
    char * c;
}aA;
Run Code Online (Sandbox Code Playgroud)

我想迭代每个结构的每个成员并打印它的值.就像是:

void print_struct_value(struct *A)
{
    for each member of struct A
    cout << "struct name . member name" << "value";
}
Run Code Online (Sandbox Code Playgroud)

如何在C++中完成?

c++ struct

30
推荐指数
5
解决办法
4万
查看次数

标签 统计

c++ ×2

c ×1

c-preprocessor ×1

macros ×1

reflection ×1

sfinae ×1

struct ×1

templates ×1