加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:15:47 所属栏目:百科 来源:网络整理
导读:一、赋值运算 ? ? ?? 赋值运算的左值必须是非const类型的左值,但注意初始化不是赋值; ? ? ?? 赋值操作返回右值,因此多个相同类型的变量可以同时被赋值; ? ? ?? 指针的赋值是地址的传递,即传递的是地址; 二、自增自减运算 ? ? ?? 前置形式:++i以及--i;

一、赋值运算

? ? ?? 赋值运算的左值必须是非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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读