运算符和表达式--C++复习(4)

一、赋值运算

       赋值运算的左值必须是非const类型的左值,但注意初始化不是赋值;

       赋值操作返回右值,因此多个相同类型的变量可以同时被赋值;

       指针的赋值是地址的传递,即传递的是地址;

二、自增自减运算

       前置形式:++i以及--i;

       后置形式:i++以及i--;

       区别:前置是先计算后赋值,后置是先赋值后计算。

三、new和delete

       1.不仅可以动态创建和释放数组;也可以动态创建和释放单个对象;

 1 class Per
 2 {
 3     ****
 4 };
5 6 7 int i; 8 int *pi=new int;//分配内存,未初始化 9 string s="hello"; 10 string *s=new string("hello");//调用构造函数 11 Per *per=new Per();//创建一个Per对象,返回一个指向这个对象的指针

       2.new在*存储区分配并创建对象,返回一个指向这个对象的指针。我们通过该指针来访问找这个对象。

       3.及时使用delete来释放内存,如:delete pi;

       4.当使用delete之后,应该重置指针,否则该指针还是指向原来的对象。pi=NULL;

       5.const对象的动态分配和释放是一样的:

1 const int *p=new int(1024);
2 delete p;

 

上一篇:RocksDB Rate Limiter源码解析


下一篇:C++构造函数的三种调用形式