Chinaunix首页 | 论坛 | 博客
  • 博客访问: 455050
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:23:14


// 下面的代码会让你更明白

#include 
#include 
using namespace std;
struct
    {
        struct { } a;
        struct { int x; } b;
    } obj;
int main(int argc, char* argv[])
{
    cout << typeid(obj.a).name() << endl;
    cout << typeid(obj.b).name() << endl;
    cout << boolalpha << bool(typeid(obj.a)==typeid(obj.b)) << endl;
    
    system( "PAUSE" );
    return 0;
}
( anbadboy 发表于 2007-10-17 19:46:00)

还以为什么技术问题呢,

只不过钻空子而已

VC 为了方便你定义struct 结构的变量,允许你省略 

struct后面的名字,而你却无知的认为她很低级.

如果你在每个struct 后面添加一个名字 

根本就不会有这样的问题存在 ( anbadboy 发表于 2007-10-17 19:24:00)

呵呵,真的诶`
   竟然相等了`` 
 但我想对于高手来说会有自己的处理的方法,运行时动态识别(RTTI)完全可以自己来实现```
可惜俺是个菜鸟``` ( MadCricket 发表于 2006-12-14 17:58:00)

Ok,Gcc (MinGW 3.4.2)下正确。
Z4mainEN4$_104$_11E
Z4mainEN4$_104$_12E
false
请按任意键继续. . . ( firefox78 发表于 2006-3-15 10:33:00)

...
cout << typeid(obj.a).name() << endl;
    cout << typeid(obj.b).name() << endl;
    cout << boolalpha << bool(typeid(obj.a)==typeid(obj.b.x)) << endl;
    
... ( pxh198254 发表于 2004-11-21 16:40:00)

老大,RTTI是用在有虚函数的时候。不管什么东西,乱用就会有问题的。 ( liuzhangping 发表于 2004-11-18 23:33:00)

.......................................................

--------------------next---------------------

阅读(340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~