表达式

来源:互联网 发布:森田药妆 知乎 编辑:程序博客网 时间:2024/04/26 17:15
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;
0 0
原创粉丝点击