- 博客(56)
- 问答 (14)
- 收藏
- 关注
原创 【八股03.29】
智能指针是C++11引入的一个类模板,用来帮我们自动管理资源,通常情况下,它内部封装了一个指向动态内存的裸指针,在析构函数它会自动释放此前申请的动态内存,防止我们因为忘记释放或发生异常导致的内存泄漏。常用的有unique_ptrshared_ptrweak_ptr,好像还有个auto_ptr,已经废弃了。数据准备和数据读写。比如说一个recv操作,会从网络中接收数据到内核缓冲区,这就是数据准备的过程,然后再从内核缓冲区读到用户空间,这就是数据读写的阶段。
2024-03-29 20:20:30
818
原创 【八股03.26】
死锁:因为资源分配不合理,多个进程循环等待其它进程占有的资源而无限期僵持下去的局面。如果没有外力的作用,所有进程都将一直维持阻塞的状态。死锁的必要条件?互斥访问不可剥夺请求并保持循环等待如何解决死锁?只要破坏死锁的4个必要条件即可避免死锁。当进程新的资源未得到满足时,释放已经占有的资源。破坏不可剥夺条件。资源预分配,在进程运行前将它所需要的所有资源一次性分配,破坏请求并保持条件。采取资源有序分配法,将资源进行编号,按照一定的顺序分配资源,破坏循环等待条件。
2024-03-27 14:37:53
966
原创 【C++】手写堆
堆使用数组存储,下标从1开始(下标从0开始也可以)。下标为u2 * u2 * i + 12 * u + 12 * i + 1u / 2。
2023-11-09 09:57:46
449
2
原创 【Effective Modern C++】条款2:理解auto类型推导
但是,如果向对应的模板传入一个同样的初始化表达式,类型推导就会失败。来说明函数返回值需要推导,lambda表达式中也会在形参声明中用到。声明变量的初始化表达式是使用大括号括起时,推导所得的类型就属于。所以,auto和模板类型推导真正的唯一区别在于,会假定用大括号括起的初始化表达式代表一个。这个角色,而变量的类型扮演的是。条款1中的三种情况同样也适用于。,模板类型推导机制会推导出。,但模板类型推导却不会。,只有下面的一点不同。C++14中,允许使用。
2023-11-06 10:18:37
258
原创 【C++】移动构造函数的声明、弃置及重载决议
是会报错的,匹配到这个函数后发现这个函数是删除的,发生错误。(隐式)弃置的移动构造函数。(会弃置合成的移动构造函数和。`引用的拷贝构造函数,则调用这个拷贝构造函数。的移动构造函数会参与重载决议,也就是说调用。显式预置的移动构造函数)本文为观看b站up主。
2023-10-29 00:39:27
176
空空如也
动态规划1234567
2023-06-02
RMB类 为什么我的程序第一个加法的结果总是比理论值相差0.01呢
2022-04-22
模版类建立单项链表,oj上说使用了系统禁止的操作系统调用,有人知道原因吗
2022-04-02
输入Yes sir!.为什么能逆序输出啊
2021-12-14
c++debug error
2021-12-14
c++求数组交集,有重合元素
2021-12-03
c++链表在p结点前插入s结点
2021-11-23
c++链表统计111111
2021-11-20
c++求最小关键字000000
2021-11-11
c++动态分配二维数组
2021-11-07
c++输出七进制111111111111111111111
2021-10-30
将1-127间的数转为二进制输出c++
2021-10-14
c++输出一个整数的所有素数。
2021-10-13
c++输出一个整数的所有素数因子,哪里错了…
2021-10-12
有人知道这个哪里出错了吗?
2021-10-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人