关于C++的sizeof()操作符

1、什么是sizeof

sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.

虽然msdn上讲:这个关键字返回一个size_t类型的值,但是他并不是一个函数,sizeof实质上是一个返回一个对象或类型名的长度的操作符。

2、sizeof的用法 

(1)sizeof(object)

(2)sizeof(name)
3、sizeof实例

(1)sizeof(std::string) ;//返回32

(2)sizeof(short);//返回2

(3)sizeof(long);//返回4

(4)sizeof(int);//返回4

(5)sizeof(float);//返回4

(6)sizeof(double);//返回8

(7)sizeof(char);//返回1

(8)sizeof(bool);//返回1

(9)sizeof(指针);返回4

(10)sizeof(函数),如果该函数没有返回值则无法使用sizeof(),因为无法对void使用sizeof();如果该函数有返回值则按sizeof(返回值)计算。

(11)sizeof(a=3);//返回结果为4;这是由于sizeof不能被编译成机器码,所以sizeof作用范围内,也就是()里面的内容也不能被编译,而是被替换成类型。=操作符返回左操作数的类型,所以a=3相当于int

4.影响sizeof结果的因素

sizeof具体结果还要根据编译环境来考虑,例如在VS2008中sizeof(std::string)结果为32,在VS2012中sizeof(std::string)结果为28.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值