c++
文章平均质量分 59
.
vector<>
这个作者很懒,什么都没留下…
展开
-
【c++】-vector和string的常见用法
写算法题的时候总是用vector,总是忘记很多vector的用法,现做一个总结,应付算法题没问题~1.二维vector的初始化vector<vector<int>> num(n1, vector<int>(n2));//n1是行,n2是列2.重写比较函数进行排序#include <algorithm>bool cmp(country A, country B) { return A.Gold_num > B.Gold_num.原创 2021-03-09 14:50:42 · 2682 阅读 · 0 评论 -
【c++】经典面试题吐血整理
c++程序从源程序到生成可执行文件的过程源程序编译预处理:处理宏定义,头文件,特殊符号之类的编译:处理关键字,确认所有指令是否符合语法优化:删除公共表达式,循环优化之类的,优化之后得到汇编程序汇编:将汇编程序翻译成目标机器指令链接:将多个目标文件及所需要的库连接成最终的可执行目标文件静态链接:时机:在形成可执行文件之前链接过程:将函数对应的目标文件要一份副本,将所有的程序模块连接成一个单独的可执行文件优点:执行速度快缺点:浪费空间(同一个目标文件在内存中可能存在多个副本)更新困难原创 2021-01-04 20:56:12 · 19701 阅读 · 18 评论 -
【c++】-虚函数表与多态
本篇文章是对B站上一个课程的笔记 https://www.bilibili.com/video/BV1LK411s7ES?from=search&seid=13723858519383902190Question1:虚函数引入后类会发生什么变化?对于一个空类,其sizeof值是1对空类加入两个普通成员函数,其sizeof仍然是1(只有成员变量会占用内存空间,普通成员函数并不会占用空间)继续加入一个虚函数,sizeof值变成了4!!这是因为,如果类中存在虚函数,则编译器就..原创 2021-01-29 11:57:41 · 629 阅读 · 0 评论 -
【c++】-虚析构函数
课程笔记:https://www.bilibili.com/video/BV1wx411473L?from=search&seid=11637211429638882354为什么析构函数要是虚函数?如果一个父类有子类,那么这个父类的析构函数一定是虚析构函数,原因是:如果父类的析构函数不是虚析构,那么当用delete删除一个指向子类对象的父类指针时,将调用父类的析构函数,子类只释放了来自父类的那部分成员变量,而子类自己扩展的成员没有被释放,造成内存泄露。在下图中可以看到,我们在堆上申..原创 2021-01-29 20:23:58 · 558 阅读 · 0 评论 -
【c++】-纯虚函数与抽象类
定义 纯虚函数:纯虚函数是一种特殊的虚函数,他在基类中声明但是不在基类中定义具体的操作 抽象类:含有纯虚函数的类叫做抽象类,若派生类没有重写这一个纯虚函数,那么派生类也是抽象类 父类是形状,子类是正方形,形状中有一个纯虚函数“求面积”,这个纯虚函数在形状类中定义,但是不具体声明,而是令为0,在子类中才具体声明。在虚函数表的表项中,纯虚函数所对应的表项为0,上图中的这个例子,从结构上来讲是这个样子的。对于普通虚函数来说,子类虚函数表会在父类虚函数表的基础上进行覆盖。抽象类中纯虚函数对原创 2021-01-29 21:11:02 · 473 阅读 · 0 评论