C/C++学习笔记
文章平均质量分 82
总结学习C/C++的疑点、难点
Kevin的学习站
在对的时间,和对的人,做对的事情!
展开
-
5、C++ STL: list容器
目录3.7 list容器3.7.1 list基本概念3.7.2 list构造函数3.7.3 list 赋值和交换3.7.4 list 大小操作3.7.5 list 插入和删除3.7.6 list 数据存取3.7.7 list 反转和排序声明:本文是在学习C++ STL–标准模板库的笔记,方便以后复习;主要参考《C++ Prime》、《C++标准库》、《黑马程序员匠心之作|C++教程从0到1入门编程》等。3.7 list容器3.7.1 list基本概念功能: 将数据进行链式存储;链表(lis原创 2021-11-27 10:42:47 · 443 阅读 · 9 评论 -
6、C++ STL: map/multimap和unordered_map容器
本文是在学习C++ STL--标准模板库时写的笔记,方便以后复习;主要参考《C++ Prime》、《C++标准库》、[《黑马程序员匠心之作|C++教程从0到1入门编程》]原创 2021-11-23 11:08:52 · 1206 阅读 · 8 评论 -
4、C++ STL: stack和queue容器
目录3.5 stack容器3.5.1 stack 基本概念3.5.2 stack 常用函数3.6 queue 容器3.6.1 queue 基本概念3.6.2 queue 常用接口声明:本文是在学习C++ STL–标准模板库的笔记,方便以后复习;主要参考《C++ Prime》、《C++标准库》、《黑马程序员匠心之作|C++教程从0到1入门编程》等。3.5 stack容器3.5.1 stack 基本概念概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有原创 2021-11-22 10:51:25 · 435 阅读 · 12 评论 -
剑指 Offer 04. 二维数组中的查找(C++实现)
04. 二维数组中的查找一、题目描述在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 targ原创 2021-11-20 21:37:25 · 1166 阅读 · 0 评论 -
3、C++ STL: deque容器
目录3.3 deque容器3.3.1 deque容器基本概念3.3.2 deque构造函数3.3.3 deque赋值操作3.3.4 deque大小操作3.3.5 deque 插入和删除3.3.6 deque 数据存取3.3.7 deque 排序3.3 deque容器声明:本文是在学习C++ STL–标准模板库的笔记,方便以后复习;主要参考《C++ Prime》、《C++标准库》、《黑马程序员匠心之作|C++教程从0到1入门编程》等。3.3.1 deque容器基本概念功能:双端数组,可以原创 2021-11-20 07:45:49 · 578 阅读 · 4 评论 -
2、C++ STL: vector容器
目录3.2、vector容器3.2.1、 vector基本概念3.2.2、 vector构造函数3.2.3、 vector赋值操作3.2.4、 vector容量和大小3.2.5、 vector插入和删除3.2.6、 vector数据存取3.2.7、 vector互换容器3.2.8、vector预留空间3.2.9、vector容器的能力:3.2.10、vector的异常处理3.2、vector容器声明:本文是在学习C++ STL–标准模板库的笔记,方便以后复习;主要参考《C++ Prime》、《C+原创 2021-11-17 20:16:47 · 1321 阅读 · 11 评论 -
六、C++11新特性:final和override关键字
六、final/override控制 声明:该笔记是在学习《深入理解C++11》、《C++11/14高级编程 Boost程序库探秘》时做的总结,方便以后巩固复习!函数重载的概念:一个类A中声明的虚函数fun在其派生类B中再次被定义,且B中的函数fun跟A中fun的原型一样(函数名、参数列表等一样),那么我们就称B重载(overload)了A的fun函数。1、final关键字的作用限制某个类不能被继承,或者某个虚函数不能被重写使用 final修饰函数,只能修饰虚函数,并且要把final关键.原创 2021-11-16 14:01:07 · 757 阅读 · 3 评论 -
四、C++11新特性:追踪返回类型
四、追踪返回类型 声明:该笔记是在学习《深入理解C++11》、《C++11/14高级编程 Boost程序库探秘》时做的总结,方便以后巩固复习!1、引入追踪返回类型的目的:追踪返回类型配合auto与decltype会真正释放C++11中泛型编程的能力;简化函数的定义,提高代码的可读性。使用decltype对返回类型进行类型推导书写方式如下:template<typename T1, typename T2>decltype(t1 + t2) Sum(T1 & t1, T2.原创 2021-11-15 18:00:45 · 897 阅读 · 11 评论 -
三、C++14新特性:decltype(auto)类型推导
目录三、decltype(auto)声明:该笔记是在学习《深入理解C++11》、《C++11/14高级编程 Boost程序库探秘》时做的总结,方便以后巩固复习!三、decltype(auto)auto和decltype两个关键字都可以推导类型,但用法有所差异。auto的使用更加方便,但是用途有限,只能用在赋值语句里;decltype用途广,可以推导任意表达式的类型,但使用时必须在括号内写全表达式,用法略有不便。因此C++14标准增加了一种新的语言,允许把这两者结合起来,也就是“declty原创 2021-11-12 22:40:17 · 713 阅读 · 2 评论 -
二、C++11新特性:decltype类型推导
目录二、decltype类型推导2.1、 decltypedecltype和auto的异同:2.2、decltype的应用①、decltype和typedf/using合用②、deltype在某些场景下使用增加代码的可读性③、使用decltype重用匿名类型④、decltype可以适当扩大模板泛型的能力2.3、decltype推导规则①、表达式为普通变量或者普通表达式或者类表达式,在这种情况下,使用 decltype 推导出的类型和表达式的类型是一致的。②、表达式是函数调用,使用 decltype 推导出的原创 2021-11-12 22:38:44 · 3858 阅读 · 4 评论 -
五、C++11新特性: 指针空值--nullptr及nullptr_t
C++ 11 指针空值—nullptr1.引入nullptr的意义:在C++程序开发中,为了提高代码的健壮性,一般会在定义指针的同时会完成初始化操作(避免出现野指针),在指针指向尚未明确的情况下,都会给指针初始化为空指针。在C++98/03标准中,将一个指针初始化为空指针的方式有两种:char *ptr = 0;char *ptr = NULL;在底层源码中 NULL 这个宏是这样定义的:#ifndef NULL #ifdef __cplusplus #define N原创 2021-11-14 16:17:05 · 3174 阅读 · 19 评论 -
一、C++11新特性:auto类型推导
目录一、auto类型推导1.1、静态类型、动态类型和类型推导1.2、auto的优势①、最大优势就是在拥有初始化表达式的复杂类型变量声明时简化代码②、第二个优势则在于可以免除程序员在一些类型声明时的麻烦,或者避免一些在类型声明时的错误③、第三个优点就是其“自适应”性能够在一定程度上支持泛型的编程④、在宏定义中,避免出现性能问题1.3、auto使用时注意事项①、auto类型指示符与指针和引用之间的关系②、auto与volatile和const之间也存在着一些相互的联系③、auto可以用来声明多个变量的类型,不过原创 2021-11-11 18:50:27 · 2351 阅读 · 10 评论 -
C/C++中的高频考点二
C/C++中的高频考点二一、什么函数不能被声明为虚函数二、多态的原理及种类三、不使用C/C++字符串库函数,重写strcpy()函数四、在嵌入式编程中,什么是大端?什么是小端?五、C语言中struct和union的区别:六、C/C++头文件中的ifndef/define/endif的作用是什么?一、什么函数不能被声明为虚函数①、只有类的成员函数才能声明为虚函数;②、静态成员函数不能为虚函数,因为调用静态成员函数不要实例,但调用虚函数需要从一个实例中指向虚函数表以得到函数的地址;③、内联函数不能为虚函原创 2021-04-23 15:04:35 · 298 阅读 · 1 评论 -
C/C++面试中的高频考点
C/C++面试中的高频考点这里写目录标题C/C++面试中的高频考点一、const二、智能指针三、类型转换关键字四、Sturct和class的区别五、指针和引用的区别六、#include<>和#include" "的区别七、重载运算符的规则:八、内存四区九、关键字 volatile 在程序设计中有什么作用十、new/delete 与 malloc/free 的区别是什么?十一、深拷贝和浅拷贝的问题十二、野指针和空指针十三、虚函数和纯虚函数十四、菱形继承问题十五、sizeof和strlen的区别原创 2021-04-05 20:51:23 · 406 阅读 · 1 评论