一些很难说清楚的问题,请进来看

Willin 2004-10-26 03:02:39
1.我们定义一个结构体后,编译器如何得到结构体变量的地址,以及结构体内每个元素的偏移地址?
2.如果我们用template<class T>定义了一个模板类后(T是一个结构体),如何操作结构体内的每个元素?
3.如何在运行时得到一个变量的类型?typeid只能得到类型的名字而不是类型,我要得到的是一个类型而不是它的名字

...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Willin 2004-10-27
  • 打赏
  • 举报
回复
我知道是怎么样分配地址的,我的问题是编译器如何根据代码分配的.现在假设我是编译器,那我在读到结构体声明的时候我就应该记下每个元素的类型和地址偏移量,这样在代码最终转换成汇编语言的时候就知道应该有多少的偏移地址.这是一,另外因为编译器要查出语法错误,因此也就必须记下每个元素的偏移量和每个元素所占的字节数.这样才可以保证不越界,才能保证程序的正确性.
tigerbobo 2004-10-27
  • 打赏
  • 举报
回复
还是第一个问题,要不你弄个指针指向结构体,然后看看指针的值试试
tigerbobo 2004-10-27
  • 打赏
  • 举报
回复
第一个问题:
不对别打我.定义结构体后,运行时,不是要分配空间吗,地址空间是编译器分配的,他当然知道结构体地址,结构体内的元素有变量类型,不同变量占空间一定,有首地址了,偏移地址一个一个的加呗.
第二个问题:
看不懂.
第三个问题:
好像是gettype,你在索引里看看gettype吧,我看不懂
jkflyfox 2004-10-26
  • 打赏
  • 举报
回复
得到类型可以用GetType吧,对vc.net懂得太少,友情顶吧。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧