没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论






代码随想录知识星球精华(最强⼋股⽂)
这份PDF总结了 代码随想录知识星球 的全部精华内容,覆盖了⼏乎程序员学习必备的内容。
知识星球⾥很多录友拿到了⼤⼚offer,包括科班 和 ⾮科班的,⽽他们的每⽇学习总结都是每⼀位准备求职的程序
员必备的内容,也是⾼频考点,⽽这些内容⼜经过了我(程序员Carl)精⼼挑选,所以都是精华中的精华。
录友们在星球⾥的每⽇总结,很多都相当精彩,如果没有⼀个整理,或者系统性的沉底,那么也是⽯沉⼤海,但这
些内容对后来星球的录友是⾮常有价值的,⽽且星球⽼录友们,也未必对⾃⼰曾经的精彩内容作出整理。
所以我打算将知识星球⾥的内容整理出PDF,⽅便新来的录友快速学习,⽅便星球⽼录友们快速复习。
也有很多录友都问我,去哪找靠谱的⼋股⽂来看。 ⽽这份PDF就是最强⼋股⽂!是经过⽆数拿过⼤⼚offer录友们
的千锤百炼的精华!
筹划了⼏个⽉,现在这份 代码随想录知识星球-学习⼿册 PDF 终于问世了。
这份PDF 很⼲货,总共有 21w字,将近300张导图,表格,分析图 。覆盖如下内容:
C++,Java,Go,数据结构和算法
操作系统,数据库,计算机⽹络,设计模式,Linux等等⾼频考点
将近30份⾯经
各个岗位学习路线
offer对⽐,精彩问答
录友们程序⼈⽣的各种真实故事
资料分享
还有很多很多,可以打卡PDF看看⽬录。
这份PDF第⼀时间开放在知识星球⾥,这是星球⾥录友们的福⾳!
作者清单
同时PDF的作者也有很多,这⾥都将其⼀⼀列出,不落下⼀位,⼤家可以追随星球⽼录友们的脚步,⼀起学习!
以下排名不分先后。
程序员Carl
Charon 对该PDF整理做了很多⼯作,整理的很有调理
weikunkun

关键字与运算符
指针与引⽤
1. 指针存放某个对象的地址,其本身就是变量(命了名的对象),本身就有地址,所以可以有指向指针的指针;
可变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变
2. 引⽤就是变量的别名,从⼀⽽终,不可变,必须初始化
3. 不存在指向空值的引⽤,但是存在指向空值的指针
define 和 typedef 的区别
define:
1. 只是简单的字符串替换,没有类型检查
2. 是在编译的预处理阶段起作⽤
3. 可以⽤来防⽌头⽂件重复引⽤
4. 不分配内存,给出的是⽴即数,有多少次使⽤就进⾏多少次替换
typedef:
1. 有对应的数据类型,是要进⾏判断的
2. 是在编译、运⾏的时候起作⽤
3. 在静态存储区中分配空间,在程序运⾏过程中内存中只有⼀个拷⻉
define 和 inline 的区别
1、define:
定义预编译时处理的宏,只是简单的字符串替换,⽆类型检查,不安全。
2、inline:
inline是先将内联函数编译完成⽣成了函数体直接插⼊被调⽤的地⽅,减少了压栈,跳转和返回的操作。没有普通
函数调⽤时的额外开销;
内联函数是⼀种特殊的函数,会进⾏类型检查;
对编译器的⼀种请求,编译器有可能拒绝这种请求;
C++中inline编译限制:
1. 不能存在任何形式的循环语句
2. 不能存在过多的条件判断语句
3. 函数体不能过于庞⼤
4. 内联函数声明必须在调⽤语句之前
override 和 overload
1、override是重写(覆盖)了⼀个⽅法
以实现不同的功能,⼀般是⽤于⼦类在继承⽗类时,重写⽗类⽅法。
规则:
1. 重写⽅法的参数列表,返回值,所抛出的异常与被重写⽅法⼀致

2. 被重写的⽅法不能为private
3. 静态⽅法不能被重写为⾮静态的⽅法
4. 重写⽅法的访问修饰符⼀定要⼤于被重写⽅法的访问修饰符(public>protected>default>private)
2、overload是重载,这些⽅法的名称相同⽽参数形式不同
⼀个⽅法有不同的版本,存在于⼀个类中。
规则:
1. 不能通过访问权限、返回类型、抛出的异常进⾏重载
2. 不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不⼀样)
3. ⽅法的异常类型和数⽬不会对重载造成影响
使⽤多态是为了避免在⽗类⾥⼤量重载引起代码臃肿且难于维护。
重写与重载的本质区别是,加⼊了override的修饰符的⽅法,此⽅法始终只有⼀个被你使⽤的⽅法。
new 和 malloc
1、new内存分配失败时,会抛出bac_alloc异常,它不会返回NULL;malloc分配内存失败时返回NULL。
2、使⽤new操作符申请内存分配时⽆须指定内存块的⼤⼩,⽽malloc则需要显式地指出所需内存的尺⼨。
3、opeartor new /operator delete可以被重载,⽽malloc/free并不允许重载。
4、new/delete会调⽤对象的构造函数/析构函数以完成对象的构造/析构。⽽malloc则不会
5、malloc与free是C++/C语⾔的标准库函数,new/delete是C++的运算符
6、new操作符从⾃由存储区上为对象动态分配内存空间,⽽malloc函数从堆上动态分配内存。
表格

constexpr 和 const
const 表示“只读”的语义,constexpr 表示“常量”的语义
constexpr 只能定义编译期常量,⽽ const 可以定义编译期常量,也可以定义运⾏期常量。
你将⼀个成员函数标记为constexpr,则顺带也将它标记为了const。如果你将⼀个变量标记为constexpr,则同样
它是const的。但相反并不成⽴,⼀个const的变量或函数,并不是constexpr的。
constexpr变量
复杂系统中很难分辨⼀个初始值是不是常量表达式,可以将变量声明为constexpr类型,由编译器来验证变量的值
是否是⼀个常量表达式。
必须使⽤常量初始化:
如果constexpr声明中定义了⼀个指针,constexpr仅对指针有效,和所指对象⽆关。
constexpr int n = 20;
constexpr int m = n + 1;
static constexpr int MOD = 1000000007;
剩余543页未读,继续阅读
资源评论


卷以为常
- 粉丝: 4
- 资源: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
