- 博客(5)
- 收藏
- 关注
原创 C++面试篇之八股文系列
与传统的互斥锁(如std::mutex)不同,std::shared_mutex允许多个线程以只读模式共享对资源的访问,但写入操作必须独占资源,防止同时有其他线程对共享资源进行读取或写入。信号量与互斥量的主要区别在于,互斥量允许多个线程对资源的串行访问,而信号量可以控制并发访问资源的线程数量上限。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
2024-03-26 23:58:07
2963
原创 C++设计模式之手撕
以下详细介绍几种常见的设计模式:1.单例模式 2.工厂模式 3.观察者模式 4.代理模式 5.适配器模式(目前只跟新单例模式和工厂模式)一:单例模式:注解(成熟且简单的方案,大厂都在用):1.设置友元的目的是:父类可以调用子类的构造,子类向父类开放构造函数2.使用模板类,提高复用性3.使用静态变量,保证只初始化一次,并且可以自动释放内存,无须考虑内存泄露4.把构造函数私有化,防止外部调用5.自己初始化赋值构造函数和拷贝构造函数6.父类析构设置虚函数,保证可以释放指向父类指针的
2022-04-12 13:48:11
1118
原创 C++面试篇
要求:各种常用的排序算法:冒泡、快排、插入、堆排序、希尔、基数或桶排序查找算法:二分查找、插值查找、顺序查找数据结构:链表、树、堆、栈、顺序表各种字符串函数如strlen,strcpy,strcat,strstr,strcmp,strchr智能指针share_ptr,weak_ptr,unique_ptr经典算法类:经典算法如动态规划、回溯法、贪婪算法、图的遍历算法。经典题目:剑指offer、leedcode上的题比如反转链表等题目。list基础:代码如下:void listTest
2022-04-11 16:05:01
1345
原创 红黑树原理
红黑树的特点:1.每个结点是红色或者黑色2.根结点是黑色3.每个叶子结点是黑色4.如果一个结点是红色,则它的两个儿子都是给黑色5.对于每个结点,从该结点到子孙结点的所有路径包含相同数量的黑结点如何实现红黑树:typedef int KEY_TYPE;typedef struct _rbtree_node{ unsigned char color; struct _rbtree_node *left; struct _rbtree_node *right;...
2022-03-31 16:23:20
473
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人