C++初期知识点体会小结(其二)

1.this指针

1)this无法被修改(因为被const修饰)

2)只能在“成员函数”的内部使用

3)this指针本质上其实是一个成员函数的形参,是对象调用成员函数时,将对象地址作为实参传递给this形参,所以对象中不存储this指针

4)this是形参,所以跟普通参数一样存在函数调用的栈区里面

5)this指针可为空

2.默认函数(共六种,这里只介绍几种常用的)

1)构造函数——相当于数据结构中的 Init()创造

A.无返回值

B.函数名与类名相同

C.可以重载

D.如果类中没有显式定义构造函数,则C++编译器会自动生成⼀个无参的默认构造函数,一旦用户显式定义编译器将不再生成

E.默认构造不仅仅是编译器默认生成的那个称作默认构造,总的来说,不传实参就可以调用的构造就叫默认构造

2)析构函数——相当于 destroy()销毁

A.析构函数是在类名前加一个“~”

B.一个类仅有一个析构函数,若不显示定义,系统会默认自动生成

C.无参数无返回值(声明也不需加void)

D.对象生命周期结束时,系统会自动调用析构函数

E.后定义的先析构

3)拷贝构造函数

A.拷贝构造函数是构造函数的一个重载

B.拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器会直接报错,因为语法逻辑上会引发无穷递归调用

C.自定义类型传值传参和传值返回都会调用拷贝构造完成

D.若不显示定义,系统会自动生成

E.系统默认生成的是浅拷贝——只会复制某个指向对象的指针,新旧对象共用同一内存

但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值