《C++Primer》读书笔记(4)

本文介绍了C++中的三种进阶技巧:条件运算符的正确使用方法;sizeof运算符计算不同类型及对象的大小;以及如何使用static_cast和const_cast进行类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.条件运算符的使用,平时很少使用这个...以至于经常理不清逻辑,还是记录一下,加深一下印象。

int _tmain(int argc, _TCHAR* argv[])
{
	int a = 1;
	int b = 2;
	int c = 0;
	c = a > b ? a : b;
	cout<<c<<endl;
	getchar();
}
c = a > b ? a:b 先判断a > b,如果为真,则c取得;左边的值,否则取右边的值。


2.sizeof运算符

对于引用类型,算出的为被引用对象的大小

对于指针,算出的是指针的大小。4

int为4,char为1,string为28

对于数组,sizeof(数组名)即可获得整个数组的大小(字节数)

int _tmain(int argc, _TCHAR* argv[])
{
	A a;
	A& ra = a;
	A* pa = new A(); 
	int num;
	char c;
	string s;
	cout<<sizeof(a)<<endl;
	cout<<sizeof(ra)<<endl;
	cout<<sizeof(pa)<<endl;
	cout<<sizeof(*pa)<<endl;
	cout<<sizeof(num)<<endl;
	cout<<sizeof(c)<<endl;
	cout<<sizeof(s)<<endl;
	getchar();
}
结果:

32
32
4
32
4
1
28



3.强制类型转换

static_cast,const_cast

不过尽量少用类型转换,易出错。

关于const_cast 使用方法为: cosnt<T>(element),将一个类型的变量转化为带const修饰符的变量。

这个转化可以在函数中使用。比如一个只能接受const类型的函数,我们可以使用这个转化,将参数转化成const类型。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值