递归火山软件开发平台

标题: 求助,假设有N个成员,取出所有类成员的值 [打印本页]

作者: 太早    时间: 2023-12-25 15:57
标题: 求助,假设有N个成员,取出所有类成员的值
本帖最后由 太早 于 2023-12-25 15:59 编辑

求助,假设有N个成员,取出所有类成员的值,有啥办法,除了.取对象数据 () 这个,这个会取出字节集类的长度。


作者: hcwanz    时间: 2023-12-25 16:05
读类地址。
c++的类,其实就是结构体的加强版。
如何读取结构体成员,可以参考:
https://bbs.voldp.com/thread-17261-1-1.html
作者: 太早    时间: 2023-12-25 16:22
hcwanz 发表于 2023-12-25 16:05
读类地址。
c++的类,其实就是结构体的加强版。
如何读取结构体成员,可以参考:

完全看懵,我只想枚举火山类成员变量数量,然后把他值全取出来
作者: uuyyhhjj    时间: 2023-12-25 17:10
类是你自己定义的,不同成员类型占用内存大小不同,应该没法直接判断未知类的成员数量,你要是想定义一个可以枚举的动态成员,可以用哈希表或数组这些去实现
作者: 呵呵仙8    时间: 2023-12-25 18:02
你是说结构体,还是火山的类.火山没结构体.类的结构好像最少40字节起步!!你调试输出一下这些字节,那个指针到那个就是你想要的成员内容不就知了!?公开的成员和不公开的成员是分开的哦?不要认为你连着写成员.它就会连成一片哦!!
作者: 太早    时间: 2023-12-25 20:01
呵呵仙8 发表于 2023-12-25 18:02
你是说结构体,还是火山的类.火山没结构体.类的结构好像最少40字节起步!!你调试输出一下这些字节,那个指针到 ...

哎,就是没办法。不知道用啥方面能实现这功能
作者: 太早    时间: 2023-12-25 20:06
呵呵仙8 发表于 2023-12-25 18:02
你是说结构体,还是火山的类.火山没结构体.类的结构好像最少40字节起步!!你调试输出一下这些字节,那个指针到 ...

打开CE看那地址就一脸懵逼,按理说是不是可以取到成员变量的数量,还有成员变量的地址。哈哈哈
作者: 呵呵仙8    时间: 2023-12-25 21:13
你是说结构体吧?用于和第三方语言通信吗?可以用GetProcessHeap,HeapFree,HeapAlloc,GlobalSize.自己构建和对方一样结构的变量!!当然,前提是对方堆栈也是由这些函数产生的.目前发现易语言的变量就是这些函数创建的.不知C++是不是!不精通!!火山的变量不是这些函数产生的.所以,火山没有交换指针一说!!




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4