我有一个数组,MyStruct* my[100];我在循环中设置数据,如下所示:
if id > X && id < Y { my[id-X] = p;
Run Code Online (Sandbox Code Playgroud)
现在我想访问my[0]as name0、my[1]as different1、my[2]asanotherThing等。
我该怎么做呢?我尝试了union+X宏,但这在 gcc 中不起作用(它在 clang 中起作用)。
我想我必须编写一个脚本,这样我就不会手写所有的#defines,但我认为#define anotherThing my[2]这是给出数组项名称的唯一方法,对吗?我想简单地写different1->myStructMember,而不是my[123]->myStructMember每次都写,这样不可读。
您所需要的只是参考资料:
auto& NAME0 = my[0];
auto& different1 = my[1];
auto& anotherThing = my[2];
Run Code Online (Sandbox Code Playgroud)
如果您不立即初始化数组,那么您可以使用指针代替:
auto *NAME0 = my;
auto *different1 = my + 1;
auto *anotherThing = my + 2;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |