2012年(158)
分类: C/C++
2012-11-20 09:41:01
#include
using namespace std;
int main( void )
{
cout << typeid( true == true ).name()
<< endl;
cout << typeid( 1 == 1 ).name() <<
endl;
cout << typeid( 1.0 == 1.0 ).name() << endl;
cout << typeid( "" == "" ).name() << endl;
cout
<< typeid( (char*)0 == (char*)0 ).name() << endl;
cout
<< typeid( (const char*)0 == (const char*)0 ).name() << endl;
return 0;
}
结果是:
long
long
int
bool
long
long
你猜到结果了吗?能解释一下VC++6.0是怎么想的吗?
BTW:正如 所说:不能拿vc++6.0和g++想比,那不是一个时代的产品,但
a.
本文目的并不是用于贬低VC++6.0,而只是觉得VC6行为很奇怪,找不到理由得奇怪。
b.
对于VC++,在7.1、7.2、8.0beta2变得成熟且经过市场检验之前,我只敢用VC++6.0。