通用结构访问的有效且实用的方法?
我有以下内容:
Struct A {
char a;
char b[10];
int c;
float d;
}
Struct B {
float d;
char b[10];
char a;
int c;
bool e;
}
我想创建一个接受 struct A 或 B 来访问元素的通用函数,例如:
void SetD(A a, float f) { a.d = f; }
将有许多不同的结构(大多数具有相同的元素)和许多对它们进行操作的函数。
我试图概括访问权限,这样我就不必将每个方法复制到每个结构中,从而导致重复的代码。不确定 instanceof
还是模板在这里最好。关于如何优雅地实现这一点有什么想法吗?如果我可以提供更多说明,请告诉我。
I have the following:
Struct A {
char a;
char b[10];
int c;
float d;
}
Struct B {
float d;
char b[10];
char a;
int c;
bool e;
}
and I want to make a generic function that accepts struct A or B to access elements like:
void SetD(A a, float f) { a.d = f; }
There will be many different Structs (most with the same elements) and many functions to operate on them.
I'm trying to generalize the access so I don't have to copy each method into each Struct resulting in duplicate code. Not sure if instanceof
or templates would be best here. Any ideas on how to implement this elegantly? Let me know if I can provide more clarification.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
怎么样:
注意,
struct
关键字是小写的,并且结构在右括号后面需要半色;
。How about:
Note that the
struct
keyword is lowercase, and that structs require a semicolor;
after the closing bracket.