04 2021 档案
摘要:什么是进程: 程序加载进内存以后开始执行,执行中的程序就叫做进程。 linux下程序的加载过程: bash程序首先调用fork函数创建出一个新的进程,随后调用exec函数执行指定的elf文件,读取elf文件头,判断elf文件的文件类型,完成程序代码段,数据段到进程空间的地址映射。 linux下进程管
阅读全文
摘要:方法1:将构造函数修饰成私有时,该类不能被继承。你也许可能会问,构造函数声明成私有,在外面使用时就不能创建对象了,不能创建对象的类还有意义吗?答案是有意义,单例模式就是将类的构造函数声明成私有的。 #include <iostream> using namespace std; class A {
阅读全文
摘要:并发的概念: 计算机里面的并发是指单个系统同时执行多个独立的任务,而非顺序的一个任务一个任务的执行。 在单处理器的单核CPU里,虽然某一时刻只能有一个任务在执行,但是它可以不断进行任务切换,这个任务执行一会儿,再切换到别的任务执行一会儿,由于切换得很快,所以用户感觉像是多个任务在同时运行。单核实现并
阅读全文
摘要:1:vector的底层实现原理是数组,占用连续的内存空间 #include <iostream> #include <vector> using namespace std; void init_vector(vector<int> &arr) { for (int i = 0; i < 10; i
阅读全文
摘要:概念: 在一个类中,如果定义有指针成员变量,该指针指向new出来的堆内存。在用一个已经存在的对象初始化一个新对象时调用拷贝构造函数,如果拷贝构造函数中只是将已有对象的指针成员赋值给新对象的指针成员,那么就叫浅拷贝,浅拷贝以后两个对象中的指针指针成员指向同一个堆内存,在对象析构时,同一块堆内存会释放两
阅读全文
摘要:结论: 实现多态时,我们通过基类指针指向子类对象,在delete基类指针时,我们希望先调用子类的析构函数,再调用父类的析构函数,要实现这个目的,析构函数就必须定义成虚函数,否则只会调用父类的析构函数,子类的析构函数不会被调用。 实验1:析构函数不定义成虚函数 #include <iostream>
阅读全文

浙公网安备 33010602011771号