欢迎来到天天文库
浏览记录
ID:30767016
大小:57.00 KB
页数:7页
时间:2019-01-03
《c++初学者心得级陷阱分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1、什么是sizeof首先看一下sizeof在msdn上的定义:Thesizeofkeywordgivestheamountofstorage,inbytes,associatedwithavariableoratype(includingaggregatetypes)・Thiskeywordreturnsavalueoftypesize_t・看到return这个字眼,是不是想到了函数?错了,sizeof不是一个函数,你见过给一个函数传参数,而不加括号的吗?sizeof可以,所以sizeof不是函数。网上有人说sizeof是一元操作符,
2、但是我并不这么认为,因为sizeof更像一个特殊的宏,它是在编译阶段求值的。举个例子:cout<3、就在于sizeof在编译阶段处理的特性。由于sizeof不能被编译成机器码,所以sizeof作用范围内,也就是()里面的内容也不能被编译,而是被替换成类型。二操作符返回左操作数的类型,所以a=3相当于int,而代码也被替换为:inta=0;cout<<4<4、是对对象使用sizeof,也可以写成sizeofobject的形式。(2)sizeof(typename)也就是对类型使用sizeof,注意这种情况下写成sizeoftypename是非法的。下面举几个例子说明一下:inti二2;cout<5、)<6、ongdouble大小分别是:1,2,4,4,4,&10。考虑下面的代码:cout<7、出1cout<<(sizeof(long)二二sizeof(DWORD))<8、/错误!无法对void类型使用sizeofcout<
3、就在于sizeof在编译阶段处理的特性。由于sizeof不能被编译成机器码,所以sizeof作用范围内,也就是()里面的内容也不能被编译,而是被替换成类型。二操作符返回左操作数的类型,所以a=3相当于int,而代码也被替换为:inta=0;cout<<4<4、是对对象使用sizeof,也可以写成sizeofobject的形式。(2)sizeof(typename)也就是对类型使用sizeof,注意这种情况下写成sizeoftypename是非法的。下面举几个例子说明一下:inti二2;cout<5、)<6、ongdouble大小分别是:1,2,4,4,4,&10。考虑下面的代码:cout<7、出1cout<<(sizeof(long)二二sizeof(DWORD))<8、/错误!无法对void类型使用sizeofcout<
4、是对对象使用sizeof,也可以写成sizeofobject的形式。(2)sizeof(typename)也就是对类型使用sizeof,注意这种情况下写成sizeoftypename是非法的。下面举几个例子说明一下:inti二2;cout<5、)<6、ongdouble大小分别是:1,2,4,4,4,&10。考虑下面的代码:cout<7、出1cout<<(sizeof(long)二二sizeof(DWORD))<8、/错误!无法对void类型使用sizeofcout<
5、)<6、ongdouble大小分别是:1,2,4,4,4,&10。考虑下面的代码:cout<7、出1cout<<(sizeof(long)二二sizeof(DWORD))<8、/错误!无法对void类型使用sizeofcout<
6、ongdouble大小分别是:1,2,4,4,4,&10。考虑下面的代码:cout<7、出1cout<<(sizeof(long)二二sizeof(DWORD))<8、/错误!无法对void类型使用sizeofcout<
7、出1cout<<(sizeof(long)二二sizeof(DWORD))<8、/错误!无法对void类型使用sizeofcout<
8、/错误!无法对void类型使用sizeofcout<
此文档下载收益归作者所有