c++咋在编译期绑定要访问结构体成员的名字?C语言结构体指针问题

发表时间:2018-01-07 18:36:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《用PROTEL画PCB时?如何在protel中画 pcb时板子两面都放元件》相关知识。本篇中小编将再为您讲解标题c++咋在编译期绑定要访问结构体成员的名字?C语言结构体指针问题。

大家好,我现在有①个①字节对齐的pod类型的struct

struct TestStn{nchar array[③②];ninttnum;n};nnstruct TestSt①n{nchartarrary②[①②];ninttnum②;n};n

c++没有反射,我有什么方法可以在不改动结构体或者很小的改动做到在预处理器或者编译期通过字符串的形式(或者其他友好的形式)传入我要访问的成员名呢?最好能不用c++①①以上的新特性

类似下面的实现效果

extern char const array[] = "array②";ntemplate typename TestType, const char *memNamenvoid VisitMember()n{nTestType st;nst.memName = n}nnint main()n{nVisitMemberTestSt, array();n}n谢谢大家:)

#define DECLARE_MEMBER(owner, field_type, field)struct member_##owner##_##field{typedef owner ObjectType;typedef field_type MemberType;MemberType }const MemberType } };#define MEMBER(owner, field) member_##owner##_##field// your own code:struct MyStruct{int intField; int intField②;std::string strField;};DECLARE_MEMBER(MyStruct, int, intField)DECLARE_MEMBER(MyStruct, int, intField②)DECLARE_MEMBER(MyStruct, std::string, strField)template struct Visitor{Visitor(ObjectType std::cout

编后语:关于《c++咋在编译期绑定要访问结构体成员的名字?C语言结构体指针问题》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《如何看待魅族MX4被爆出使用的gpu是双核的?假设把魅族MX4的处理器换成高通801》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题