表达式

本文详细解析了C++中常见的运算符,包括求模操作符、逻辑操作符、IO操作符、赋值操作符、指向对象的指针操作、sizeof操作符、逗号表达式以及动态创建和回收对象的过程。同时介绍了const对象的动态分配和回收方法,为C++开发者提供了全面的内存管理知识。

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

1、求模操作符%:用于计算左操作数除以右操作数的余数。该操作符的操作数只能为整型,包括bool、char、short、int和long类型,以及对应的unsigned类型。

2、逻辑操作符:
expr1 && expr2   //logical AND
expr1  ||  expr2   //logical OR
仅当由expr1不能确定表达式的值时,才会求解expr2.
短路求值:逻辑与和逻辑或操作符总是先计算其左操作数,然后再计算其右操作数。只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解其右操作数。

3、IO操作符<<和>>具有中等优先级:其优先级比算术操作符低,但比关系操作符、赋值操作符和条件操作符优先级高。

4、赋值操作具有右结合特性和低优先级。
复合赋值操作符的一般语法格式:a op= b;

5、一个指向对象的指针(或迭代器),可以使用箭头操作符(—>)来获取类类型对象的成员。

6、sizeof操作符:用于返回一个对象或类型名的长度,返回值的类型为size_t,长度的单位是字节。
形式如:
sizeof (type name);
sizeof (expr);
sizeof expr;
对指针做sizeof操作将返回存放指针所需的内存大小,如果要获取该指针所指向对象的大小,则必须对该指针进行解引用。

7、逗号表达式从左向右计算,逗号表达式结果是其最右边表达式的值。

8、动态创建对象时,只需指定其数据类型。
如:int *pi = new int;
动态创建的对象可用初始化变量的方式实现初始化。
如:int *pi = new int(1024);
       string *ps = new string(10,‘9’);
如果不提供显示初始化,对于类类型的对象,用该类的默认构造函数初始化,而内置类型的对象则无初始化。
可对动态创建的对象做值初始化。
如:string *ps = new string();  //initialized to empty string 
       int *ps = new int();  //pi points to an int value-initialized to 0
       cls *pc = new cls();  //pc points to a value-initialized object of type cls
撤销动态创建的对象:delete表达式
如:delete pi;
如果指针的值是0,在其上做delete操作是合法的,但没有意义。
删除指针后,该指针变成悬垂指针,应将指针置为0,表明指针不再指向任何对象。

9、const对象的动态分配和回收
如:const int *pc = new const int(1024);
       delete pc;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值