- 博客(21)
- 收藏
- 关注
原创 C++智能指针
由于C++中不存在垃圾回收机制,需要手动释放分配出去的内存,否则会造成内存泄漏。而智能指针(smart pointer)能够有效解决该问题。
2023-03-18 09:33:09
445
原创 C++字节对齐详细解读
字节对齐主要是为了提高访存的效率,因为对齐后的字节访存效率会更高。计算机底层存储硬件比如说内存、CPU cache、寄存器等的访问都不是一次一个字节,而是一次一批或者这一次一组字节的访问。
2023-03-06 22:23:22
463
原创 网络编程——socket
套接字就是两台主机之间逻辑连接的端点,是网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口。
2023-01-06 21:07:03
1327
原创 并查集(Union-find disjoint sets)
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。
2022-12-28 22:04:03
214
原创 设计模式之职责链模式
职责链模式,使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理为止。
2022-12-22 21:10:45
93
原创 设计模式之代理模式
代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而对象代理可以在客户端和目标对象中起到中介的作用
2022-12-21 23:37:14
107
原创 网络层——IP数据报详解
IP数据报的首部的前一部分为固定长度(20字节),这是所有IP数据报必须具有的。首部固定部分的后面是选项和填充字段(长度可变) 。数据部分的长度也是可变的。
2022-11-21 15:09:20
6549
原创 C++函数重载
函数重载也成为函数多态,是C++在C语言的基础上新增的功能。默认参数使得能够使用不同数目的参数调用同一个函数,而函数多态使得能够使用多个同名的函数.
2022-11-12 12:01:51
310
原创 C++之返回类型以及return语句
return 语句的作用是终止一个函数的执行,结束当前代码块中return后的语句,即return后的语句不再执行,从当前位置退出函数
2022-11-07 12:07:25
8508
原创 C++之const限定符
一般来说,如果想要定义一种变量,要求它的值不能被修改,为了满足这一个要求,可以用关键字const对变量的类型加以限定。
2022-10-28 22:12:23
1323
原创 C++存储持续性、作用域和链接性
C++在内存中存储数据方面提供了多种选择。可以选择数据保留在内存中的时间长度(存储持续性)以及程序的哪一部分可以访问数据(作用域和链接)等。
2022-10-18 23:58:57
275
原创 C++中的名称修饰
名称修饰是在一种编译过程中,将函数、变量以及返回值的名称重新改编的机制。简单来说,就是编译器为了区分各个函数,将函数通过一定算法,重新修饰为一个全局唯一的名称。
2022-10-15 17:15:03
872
原创 优先队列的基本使用
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。
2022-10-09 21:04:29
370
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人