面试(九)小米C++开发一面 21.11.02

本文介绍了C++面试中常见的一些知识点,包括局部与全局变量的区别、extern的使用、多态的概念及实现、数据结构中的数组与链表比较,以及内存布局、内存泄漏检测、进程线程的区别、进程间通信方式、深拷贝与浅拷贝的原理等。
摘要由CSDN通过智能技术生成

1、局部变量与全局变量的区别?可以同名嘛?

首先是作用域:

        局部变量只在变量声明的代码块范围内生效

        全局变量在其声明后的所有位置都能访问到

在局部变量与全局变量同名的情况下,全局变量会被屏蔽掉,只会使用局部变量的内容

2、extern

当在a.c中想要使用b.c中的函数fun,一种方法就是使用#include包含b.c中的头文件,可是这样就会造成将b中所有.h头文件中声明定义的代码全都引入过来,造成了大量的成本浪费

而使用extern修饰b.c中的函数fuc,那么就可以在a.c的文件中直接使用这个fun函数,修饰变量也是如此,相当于告诉编译器,这个标识符虽然没有在本文件中使用,但是这个标识符在其他文件中使用extern修饰,你可以直接使用它。

extern修饰变量或函数,表示该变量或函数可以在

3、讲一讲你了解的多态

①通俗的说就是不同形态,当完成某种任务时,不同的对象去完成时会产生不同的状态。

比如刷抖音这件事,每个人都刷同一个app,每个人所刷到的视频内容却大相径庭。

②为了实现多态,需要的条件 在继承体系中,子类必须重写基类的虚函数

对于虚函数的调用:使用基类的引用或指针来访问

还有一个就是需要在代码运行时才能体现动态多态

静态代码复用:重载,模板

动态代码复用:多态</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值