- 博客(6)
- 收藏
- 关注
原创 基于CAS的无锁队列
这里需要注意的是,单生产者和单消费者模型,不需要加锁和原子操作,是否线程安全?理论是不安全的,但对这种特殊模式的结果是不影响的。
2023-07-24 18:22:32
216
原创 CMake常用语法
同时会引入两个变量 demo_BINARY_DIR / PROJECT_BINARY_DIR, PROJECT_SOURCE_DIR/demo_SOURCE_DIR
2022-07-08 19:02:56
1407
2
原创 常见的七大排序
七大排序插入排序选择排序未优化前版本优化版本插入排序什么是插入排序?指的是当插入第n个元素时,之前的n-1个元素已经有序了,将第n个元素和前面的n-1个元素比较,找到适合插入的位置,插入点后面的元素都向后挪动一个位置,空出来的位置直接插入即可。时间复杂度:最坏的情况下,每次插入一个元素,都需要挪动全部元素,故有1+2+3+…+n=n*(n+1)/2。即为O(n^2)空间复杂度:在原有的数组挪动即可,不需要额外的空间。O(1)例子:待插入元素:5 2 3 6 1 4 8第一次插入:5第
2022-05-01 22:24:11
551
原创 STL源码原理分析
STL详解STL介绍空间配置器一级空间配置器二级空间配置器序列式容器vectorlistdeque适配器stackqueueheappriority_queue关联式容器setmultisetmapmultimap非标准容器hash_set(unordered_set)hash_multiset(unordered_multiset)hash_map (unordered_map)hash_multimap(unordered_multimap)常见的面试问答1、说说 vector 和 list 的区别2、
2022-04-04 16:23:51
3979
原创 现代C++特性
一、内存区域模型1、代码区:存放函数体的二进制代码,由操作系统进行管理,特点是共享和只读。2、全局区:存放全局变量、static修饰的静态变量、const修饰的常量。3、栈区:存放局部变量和函数传递的参数,由编译器自动进行分配和释放。4、堆区:存放动态分配的变量,需要程序员使用new,malloc分配和使用delete,free释放,若不释放一般情况下程序运行完由操作系统回收内存不同区域的意义赋予了变量的不同生命周期,提供给程序员灵活地编程。二、引用2.1、意义给变量起别名用法数据类型
2022-03-21 17:36:17
1749
3
原创 计算机网络
OSI五层模型文章目录前言一、应用层DNS协议HTTP协议二、使用步骤1.引入库2.读入数据总结前言计算机网络概念:计算机网络是利用通信线路和通信设备,将地理位置不同的、功能独立的多台计算机互连起来,以功能完善的网络软件来实现资源共享和信息传递,就构成了计算机网络系统。一、应用层DNS协议HTTP协议HTTP是超文本传输协议。它是基于TCP协议的应用层传输协议,即是客户端和服务端的数据传输一种规则。HTTP协议本身是一种无状态的协议(无状态:是指每一个HTTP请求的发送、传输、接收均相互
2022-03-12 18:27:37
5148
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人