读书人

C++中是否可以循环访问一个结构体的

发布时间: 2012-05-13 16:39:43 作者: rapoo

C++中,是否可以循环访问一个结构体的各个域(每个域的类型和大小不一定相同)
虽然这个问题有点傻帽,但是像java中有反射机制,可以很方便的做到,可对于C++中,是否可能实现类型数组一样,采用下标访问一个域【住:结构体的每个域类型不一定相同】
如一个结构体:
typedef struct _ITEM{
string uName;
int age;
float weight;
float height;
String sex;
}ITEM,*PITEM;
是否可以实现如下访问:ITEM[0] 就是范围uName,ITEM[1]就可以获得age,ITEM[2]可以获得weight ....
当然,直接这样访问是不行的,有没有方法可以实现这样访问呢??哪位C++牛人指点迷津,必然重谢....

[解决办法]
全部用 指针.
然后,你懂的
[解决办法]

探讨
虽然这个问题有点傻帽,但是像java中有反射机制,可以很方便的做到,可对于C++中,是否可能实现类型数组一样,采用下标访问一个域【住:结构体的每个域类型不一定相同】
如一个结构体:
typedef struct _ITEM{
string uName;
int age;
float weight;
float height;
String sex;
……

[解决办法]
莫非要用模板。
[解决办法]
c++, 反射, 看 mfc ...


[解决办法]
探讨

引用:

c++, 反射, 看 mfc ...


C++的反射么?我没接触过,网上也找了很多资料一直没有进展!
MFC里面有反射的支持吗,可以指点一下不??

[解决办法]
探讨
引用:

引用:
虽然这个问题有点傻帽,但是像java中有反射机制,可以很方便的做到,可对于C++中,是否可能实现类型数组一样,采用下标访问一个域【住:结构体的每个域类型不一定相同】
如一个结构体:
typedef struct _ITEM{
string uName;
int age;
float weight;
float height;
Str……

[解决办法]
楼主如果要了解C++的反射,可以去看看RTTI。
[解决办法]
探讨

引用:

全部用 指针.
然后,你懂的


全部用指针当然可以解决这个问题了!可,这样岂不是很麻烦!!呵呵

[解决办法]
重载[] +末班能够实现,不过每个新的结构就有新重载这点很麻烦,也没必要这样处理。
[解决办法]
探讨

重载[] +末班能够实现,不过每个新的结构就有新重载这点很麻烦,也没必要这样处理。

读书人网 >C++

热点推荐