C++—八股文总结(25秋招期间一直更新)

1、const

1.1 指针常量和常量指针

说说const int *a, int const *a, const int a, int *const a, const int *const a分别是什么,有什么特点。
const int *a==int const *a;  //可以通过 a 访问整数值,但不能通过 a 修改该整数的值,指针本身是可变的,可以指向不同的整数
const int a;  //a变量变成常量,不可修改
int *const a;  //a的值可以更改,但是指向它的指针不能更改
int const *const a;  //a本身和指向它的指针都不能更改

1.2 const成员函数

常函数内不能修改成员变量
对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。

1.3 const和#define的区别

1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。
而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应) 。
(2)有些集成化的调试工具可以对 const 常量进行调试,但是不能对宏常量进行调试。
(3)#define是在编译的预处理阶段起作用,而const是在编译、运行的时候起作用。
(4)#define定义的常量不分配内存,而const定义的常量会分配在常量存储区中。

具体可看以下博客7.5小节

C++入门基础(二)_c语言最小体重-优快云博客文章浏览阅读387次。初学C++,每周更新自己所学!_c语言最小体重https://blog.youkuaiyun.com/qq_56896418/article/details/127675418?spm=1001.2014.3001.5502

2、 虚函数

2.1 作用

父类型的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。

2.2 实现

每个虚函数都会有一个与之对应的虚函数表,该虚函数表的实质是一个指针数组,存放的是每一个对象的虚函数入口地址。对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值