![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
秋招(后台开发岗)知识总结
文章平均质量分 84
C++后台开发岗位求职面试所需掌握的知识点
秋风遗梦
欢迎批评指正!
展开
-
秋招复习(1) - 重要数据结构和算法的代码实现
1.堆排序基本思路父节点在数组里的序号为i,则两个子节点分别为2 * i + 1 和 2 * i + 1,利用这种方式将整个数组模拟成了一个二叉树。先对整个数组建堆,完成之后数组第一个元素nums[0]就是最大/最小,然后将其交换到数组nums[size-1],在对前size-1的数组元素建堆,再把nums[0]交换到nums[size-2]。重复这个过程,即可完成对整个数组的排序。时间复杂度O(nlogn).代码实现://用户交换堆顶元素到数组末尾void Swap(int& a, in原创 2021-01-07 16:37:40 · 330 阅读 · 0 评论 -
C++基础知识归纳(4)-杂记+补充
一些小知识点输出数组内容a[1]=*(a+1)=*(1+a)=1[a]cout<<1[a];//也可以堆的大小是没有限制的,而栈有,一般为8MB,因此不宜在线程中嵌套太深的函数或太大的局部变量。结构体变量占用的内存并不是各部分相加,而是必须是其中最大数据类型的整数倍,目的是为地址对齐,提高读写速度。C++中使用多态时,不要使用派生类给父类初始化,否则会导致对象切断。每个派生类都调用自己直接基类的构造函数,但最终派生类的构造函数负责调用虚基类的构造函数,可以不是直接基类!(一原创 2021-01-09 16:20:49 · 441 阅读 · 0 评论 -
C++基础知识归纳(2)-进阶篇
大原创 2021-01-09 13:27:43 · 1144 阅读 · 0 评论 -
C++基础知识归纳(3) -进阶篇《Effective C++必懂条款》
析构函数需要设置为虚函数(virtual)的原因带多态性性质的base class应该声明一个virtual虚构函数。否则使 指针指向派生类时使用delete操作只会删除基类成员而不会删除派生对象中的成员从而造成内存泄露。如果类不是作为基类使用或者不是为了具备多态性,就不应该声明virtual析构函数。每个析构函数只会清理自己的成员(成员函数前没有virtual)。可能是基类的指针指向派生类的对象,当析构一个指向派生类的成员的基类指针,这时程序不知道这么办,可能会造成内存的泄露,因此此时基类的析构函原创 2021-01-08 21:41:55 · 977 阅读 · 0 评论 -
C++基础知识归纳(1)-大厂必备八股文篇
共享数据的保护:常引用:使所引用的形参不能被更新void display(const double& a);常对象:在生存期内不能被更新,但必须被初始化A const a(3,4);常成员函数:不能修改对象中数据成员,也不能调用类中没有被const 修饰的成员函数(常对象唯一的对外接口).如果声明了一个常对象,则该对象只能调用他的常函数!->可以用于对重载函数的区分;void print();void print() const;extern int a:使其他文件也能访问该原创 2021-01-08 20:07:21 · 27028 阅读 · 3 评论