
C/C++
文章平均质量分 78
一荤配一素
这个作者很懒,什么都没留下…
展开
-
【C++常见八股2】vector 的 push_back 扩容问题 | char *和 char [] 区别
即使上述增强分配器的设计进入标准库,容器所用的默认分配器 std::allocator 也不一定能从中受益。原因是 std::allocator 的 allocate 与 deallocate 分别包装全局的分配函数 ::operator new 与解分配函数 ::operator delete ,这些函数是 C++ 语核所要求的,而且可以被用户替换。(因为这个空间是提前分配好的,可以避免在已分配尾部再进行扩容可能造成的开销以及可能分配失败的问题),而原有的空间会回收回内存池重复利用。原创 2023-10-25 15:41:32 · 426 阅读 · 0 评论 -
【C++罕见八股】lock_guard 和 unique_lock 区别
unique_lock 可以在构造时不立即 lock 互斥锁,结合 std::defer_lock 可以实现 RAII wrapper(锁住多个 mutex),lock_guard 也能提供 RAII wrapper(使用括弧限制一个 limited space)C++17 之后,请考虑使用 scoped_lock 替代 lock_guard。除非你需要在不销毁锁的情况下手动解锁互斥锁,否则请使用 lock_guard,),lock_guard 只能在构造 lock 在析构时 unlock。翻译 2023-09-29 12:34:03 · 148 阅读 · 0 评论 -
【C++多线程】C++11互斥锁和条件变量实现生产者消费者模型
C++11互斥锁和条件变量实现生产者消费者模型原创 2023-08-28 22:54:09 · 905 阅读 · 0 评论 -
【C++常见八股1】内存布局 | 参数压栈 | 构造析构调用 | 空类大小
C++ 中内存布局、参数压栈、析构构造顺序、空类大小原创 2023-08-10 23:32:41 · 492 阅读 · 0 评论 -
C++派生类指针赋值给基类指针问题(虚函数和非虚函数不同)
C++ 派生类指针赋值给基类指针问题原创 2023-02-09 11:30:15 · 971 阅读 · 1 评论 -
C++ Http Server 开源库(汇总级整理)
CPP Http Server 开源框架CPP 面试知识点总结原创 2022-12-13 12:40:48 · 11620 阅读 · 1 评论 -
【C++】lambda表达式
C++中lambda表达式深入浅出转载 2022-06-26 19:47:23 · 277 阅读 · 0 评论 -
【分治法】解决循环赛问题(n分为奇数和偶数)
例题设有N个运动员要进行网球循环赛,设计一个满足以下要求的比赛日程表(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次;(3)当n 是偶数,循环赛进行n-1简单天,当n是奇数,循环赛进行n天。分析1. 首先考虑简单问题(n = 2^k)这个我先上一个图大家应该就可以明白:应该很容易想到分治法,有如下规律:对于任意一个正方形区域(包括4、16……个小方块)左...原创 2019-11-04 00:05:47 · 5833 阅读 · 3 评论 -
【多边形法】解决循环赛问题(n分为奇数和偶数)
题目在这里就不再赘述,想看的话请参考上一篇【分治法】解决循环赛问题原创 2019-10-27 22:02:37 · 1454 阅读 · 0 评论 -
C/C++文件指针的区别:读取同一个文件结果诡异
对于C/C++的文件操作,就是对指向FILE的指针©或者对fstream对象进行操作,此时有一个”文件位置指针“至关重要,这个是指示下一次读写操作所在字节的整数值。每次读写一个(或者1组)数据后,系统自动将文件位置指针移动到下一个读写位置上。其实我是在用C++写一个简单的词法分析程序时候遇到的问题,废话少说,我们直接进入正题~~(也就是我遇到的问题【捂脸】)在C++中对一个文本完全读写,分别打...原创 2019-10-09 08:43:31 · 749 阅读 · 0 评论