![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
文章平均质量分 82
C++
Chesnut.
这个作者很懒,什么都没留下…
展开
-
【面试八股总结】C++内存管理:内存分区、内存泄漏、new和delete、malloc和free
C++内存管理:内存分区、内存泄漏、new和delete、malloc和free原创 2024-07-10 17:18:06 · 788 阅读 · 0 评论 -
【面试八股总结】面向对象三大特性、虚函数、纯虚函数、虚继承
面向对象三大特性、虚函数、纯虚函数、虚继承原创 2024-07-09 16:06:09 · 991 阅读 · 0 评论 -
【面试八股总结】C++11新特性:智能指针
如果你拷贝⼀个unique_ptr,那么拷贝结束后,这两个unique_ptr都会指向相同的资源,造成在结束时对同⼀内存指针多次释放而导致程序崩溃。如果⼀块 内存被shared_ptr和weak_ptr同时引⽤,当所有shared_ptr析构了之后,不管还有没有weak_ptr引⽤该内存,内存也会被释放。,每当多⼀个指针指向该对象时,指向该对象的所有智能指针内部的引用计数加1,每当减少⼀个智能指针指向对象时,引用计数会减1,当。,⼀个非空的unique_ptr总是拥有它所指向的资源。原创 2024-05-09 22:24:09 · 1123 阅读 · 0 评论 -
【C++从0到1-黑马程序员】STL常用算法
algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等。merge 容器元素合并,并存储到另一容器中。查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()二分查找法查找效率很高,值得注意的是查找的容器中元素必须是。将区间内满足条件的元素,替换成指定元素。两个容器元素合并,并存储到另一容器中。容器内指定范围的元素拷贝到另一容器中。将容器内指定范围的旧元素修改为新元素。原创 2024-04-06 21:58:40 · 805 阅读 · 0 评论 -
【C++从0到1-黑马程序员】STL函数对象
C++从0到1 - 黑马程序员 课程学习笔记。原创 2024-04-04 14:45:07 · 836 阅读 · 1 评论 -
【C++从0到1-黑马程序员】STL容器(三)
插入操作和删除操作都不会导致原有list迭代器的失效,在vector中是不成立的。由于链表的存储方式并不是连续的内存空间,因此链表中的迭代器支持前移和后移,属。结点的组成:一个存储数据元素的数据域,另一个是存储下一个结点地址的指针域。set不允许容器中有重复的元素;list不支持使用[]和at方式访问容器中的元素,原因是。,不适用连续线性空间存储数据,迭代器也是不支持随机访问的。不支持随机访问迭代器的容器,内部会提供对应的一些算法。将容器中的元素反转,以及将容器中的数据进行排序。原创 2024-03-31 21:30:00 · 910 阅读 · 1 评论 -
【C++从0到1-黑马程序员】STL容器(二)
3. Deque容器3. Deque容器3.1 deque基本概念功能:,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率极低,数据量越大,效率越低deque相对而言,对于头部的插入删除速度会比vector快vector访问元素时的速度会比deque快deque内部工作原理:deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实的数据中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间。原创 2024-03-31 16:57:11 · 266 阅读 · 1 评论 -
【C++从0到1-黑马程序员】STL容器(一)
2. Vector容器C++从0到1 - 黑马程序员 课程学习笔记1. String 容器1.1 string基本概念string是C++风格的字符串,而string本质上是一个char*是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个char*类型的容器string类内部封装了很多成员方法string管理char* 所分配的内存,不需要担心赋值越界和取值越界等,由类内部进行负责1.2 string构造函数1.3 string赋值操作。原创 2024-03-27 15:54:47 · 744 阅读 · 1 评论 -
【C++从0到1-黑马程序员】STL初识
非质变算法:是指运算过程中不会更改区间内的元素的内容,例如:查找、计数、遍历、寻找极值等。提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该容器的内部表示方式。STL六大组件:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器。质变算法:是指运算过程中会更改区间内的元素的内容,例如:拷贝、替换、删除。序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系。常用的数据结构:数组、链表、树、栈、队列、集合、映射表等。原创 2024-03-25 18:05:15 · 711 阅读 · 0 评论 -
【C++从0到1-黑马程序员】模板
建立一个通用函数,函数返回值类型和形参类型可以不具体定制,用一个虚拟的类型来代表。类模板作用: 建立一个通用类,类中的成员数据类型可以不具体定制,用一个虚拟的类型来表示。将声明和实现写到一个文件中,并更改后缀名为.hpp,hpp是约定的名称,并不是强制。全局函数类外实现 - 需要提前让编译器知道函数的存在:需要提前声明类模板以及函数。❗模板的通用性并不是万能的,有些特定数据类型,需要用具体化方式做特殊实现。当子类继承的父类是一个类模板时,子类在继承前必须指定父类中T的数据类型。原创 2024-03-25 15:28:11 · 223 阅读 · 0 评论 -
【C++从0到1-黑马程序员】文件操作
1. 文本文件C++从0到1 - 黑马程序员 课程学习笔记程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放可以通过文件C++中对文件操作需要包含头文件文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中操作文件的三大类:ofstream:写操作ifstream: 写操作fstream:读写操作1. 文本文件1.1 写文件写文件步骤:包含头文件 #include。原创 2024-03-24 19:15:00 · 834 阅读 · 1 评论 -
【C++从0到1-黑马程序员】类和对象(三)
C++从0到1 - 黑马程序员 课程学习笔记。原创 2024-03-24 14:52:49 · 634 阅读 · 1 评论 -
【C++从0到1-黑马程序员】类和对象(二)
C++从0到1 - 黑马程序员 课程学习笔记。原创 2024-03-22 19:53:27 · 710 阅读 · 1 评论 -
【C++从0到1-黑马程序员】类和对象(一)
C++认为万事万物皆为对象,对象有其属性和行为。原创 2024-03-22 15:57:12 · 1191 阅读 · 1 评论 -
【C++从0到1-黑马程序员】函数
作用:函数名可以相同,提高复用性同一个作用域下函数名称相同函数参数 类型不同 或 个数不同 或 顺序不同❗函数的返回值不能作为函数重载的条件。原创 2024-03-22 15:28:06 · 266 阅读 · 1 评论 -
【C++从0到1-黑马程序员】引用
C++从0到1-黑马程序员 课程学习笔记课程链接: 06 C++中的引用-引用的基本语法_哔哩哔哩_bilibili作用:给变量起别名语法:数据类型 &别名 = 原名作用:函数传参数时,可以利用引用的技术让形参修饰实参优点:简化指针修改实参❗引用传递也可以使形参修饰实参4. 引用做函数返回值5. 引用的本质引用的本质在C++内部是一个指针常量6. 常量引用作用: 常量引用主要用来修饰形参,防止误操作原创 2024-03-21 18:01:21 · 343 阅读 · 0 评论 -
【C++从0到1-黑马程序员】程序的内存模型
C++ 程序执行时,将内存划分为四个区域:代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值、局部变量等堆区:程序员分配和释放,若程序员不释放,程序结束时由操作系统回收原创 2024-03-21 16:35:33 · 702 阅读 · 0 评论