2021-09-18C++面试

votatile的作用:多线程编程中,这个变量是会经常被改变的。寄存器,从内存中去读取。

寄存器与内存:

大钱世界呀,只有谁比谁更水。

数组名并不是真正意义上的指针。

野指针:初始化指向NULL,

指针大小是固定的吗?
内存地址的长度是固定的。
同时我们不难看出,一个指针的值就是一个32位的二进制数,32位对应4字节(Byte)。 所以,指针的大小实际上是由CPU的寻址位数决定。指针类型的大小是固定的(无论该指针指向哪种数据类型),在32位系统中为4字节;在64位系统中为8字节。

什么时候必须重写拷贝构造函数?默认拷贝为浅拷贝
想用另一个对象进行拷贝的初始化。
定义非空的析构?那要delete?定义拷贝。
类里面有*指针如char
浅拷贝。两个对象指向了堆中同一空间。

什么是拷贝构造函数:const定义,无explicit,对象以值传递方式传入,以另一对象初始化,对象以值传递的方式从函数返回

explicit?是防止隐式类型转换

右值引用可以减少拷贝,提高程序执行效率。

继承重用代码,

菱形继承,——A被BC继承,BC又同时被D继承,多次构造,多次析构?iostream——istream和ostream——ios

多态:基类指针引用——运行是动态绑定对象函数

C++编译环境:C++标准库,C语言兼容库,C++标准语法,C++扩展语法编译模块。

externalC, 函数重载是否支持。

四类强制类型转换:
static_cast 基本类型之间,dynamic继承关系类指针,reinterpret才是用指针之间的,const

malloc和new?
库函数和运算符。不在编译器控制权限内。

静态成员:类共享静态成员函数,可以对象名和类名访问,静成员函数只可以静态成员变量

ifndef/define 防止头文件重复包含。编译器支持program once

左值/右值:左值可取地址,右值传递,如const的初始化,减少拷贝,提升效率,且智能指针不必手动释放。重载和赋值函数,移动。
不拷贝数组也不手动释放内存。

虚拟内存:
让物理内存扩充更大逻辑内存。让一个进程或资源的页面加载进内存。

分时系统分时间片,和实时能在规定时间内处理完毕。

运行态——就绪:时间片用完。可以不经过堵塞。

浏览器进程里有线程http请求、事件响应、渲染线程

孤儿进程的父进程退出,僵尸进程进程描述符仍在文件中。

内联会检查参数类型,define不会,预处理器和编译器。

死锁:互斥、占有和等待、不可抢占、环路等待。鸵鸟策略忽略、资源统一编号

进程同步:临界区、互斥量(拥有互斥变量才可访问公共资源)、信号量、

磁盘调度算法:最短寻道时间优先,会产生jie,scan扫描

虚拟内存可以利用内存起到缓存的作用,提高进程访问磁盘的速度。应用认为它拥有连续可用的内存地址空间,实际分为多个物理内存碎片。结合磁盘和内存,为进程提供看起来速度快的存储。

寄存器CPU内部元件,cache位于cpu与主存之间小但速度高,存cpu刚用过的,弥补cpu与内存间运算速度差异。硬盘长期存,内存断电就丢失,记忆。

内存存临时的数据,是数据执行者,根据指令工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值