随笔分类 - c++学习
各种c++的学习资料的感悟
摘要:先后一致次序(memory_order_seq_cst) 如果程序服从先后一致次序,就简单地把一切事件视为按先后顺序发生,其操作与这种次序保持一致。假设在多线程程序的全部原子类型的实例上,所有的操作都保持先后一致,name它们将按某种特定次序改由单线程执行,则俩个程序的操作毫无区别。 缺点:在弱保序
阅读全文
摘要:int x = 0; int y = 0; int r0, r1; //cpu1 void f1() { x = 1; std::atomic_thread_fence(std::memory_order_acquire); r0 = y; } //cpu2 void f2() { y = 1; s
阅读全文
摘要:我一直对有多重继承,且有虚函数或者虚继承的对象内存有一些疑惑 在《深度探索C++对象模型中》做出了解释,下面俩个图就可以解释。 方式一:如果对象多,可能占用内存 方式二:
阅读全文
摘要:编译器自动合成的情况 默认构造函数: 带有default constructor的member class 带有default constructor的base class 带有一个virtual function的class 带有一个virtual base的class 拷贝构造函数: 不生成默认
阅读全文
摘要:来源《c++并发实战2》 利用c++面向对象的方法,和设计模式的模板方法。 在自己实现了一个简单的future类之后,实现了线程池。目前支持了多优先级队列。 详细可以参照我的github https://github.com/woodx9/WCThreadPool
阅读全文
摘要:今天被一个字节的大佬教育了,看了点读写锁的资料 记录一下 https://www.cnblogs.com/fortunely/p/15778050.html#%E5%B0%8F%E7%BB%93
阅读全文
摘要:因为在c++里全局变量一般来说用的比较少,所以对extern的理解也就很浅薄 今天有同事问起,所以就深入理解了一下 参考的博客 https://blog.csdn.net/keensword/article/details/401114
阅读全文
摘要:除了参数类型之外,加const的引用和指针,也可以定义为重载,详情可以结合下面的三篇文章 https://blog.csdn.net/alidada_blog/article/details/80734900 https://zhuanlan.zhihu.com/p/359466948 https:
阅读全文
摘要:红黑树的实现就不再记录了,详情可以去github上面翻翻源代码 set的接口和实现: map的接口和实现: hash_set接口与实现 hash_map接口和实现:
阅读全文
摘要:今天比较无聊,写了一个贪吃蛇玩玩,只能运行在windows平台下 参考博客: rand生成随机数: https://blog.csdn.net/qq_37050329/article/details/90478174 不用按下enter获得输入:https://blog.csdn.net/weixi
阅读全文
摘要:今天在公司看stl源码分析,感觉有点无聊。花一个小时写了一个可扩容的Heap,虽然速度很慢,但是写出来的感觉还是很不错的。 #include <iostream> using namespace std; class Heap{ public: Heap(int t_size) { //auto_r
阅读全文
摘要:vector容器的接口和实现: list容器的接口和实现: 双向循环链,最后一个节点为空节点 deque容器的接口和实现: deque的构造和内存管理: push_back(), push_front(); 元素操作函数:pop_back(), pop_front(), clear(), erase
阅读全文
摘要:先自增再赋值,先赋值再自增。
阅读全文
摘要:转载乐哥博客 https://mp.weixin.qq.com/s?__biz=Mzk0MzI4OTI1Ng==&mid=2247487751&idx=1&sn=3da21227cb1a4c80e36f91dc823529af&chksm=c33777c0f440fed6f9ebaa7f206f1e
阅读全文
摘要:出自《stl源码剖析》 List源代码 迭代器Iter源代码 用法:
阅读全文
摘要:realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。 如果将分配的内存减少,realloc仅仅是改变索引的信息。 如果是将分配的内存扩大,则有以下情况:1)如果当前内存段后面有需要的内存空间,则直接扩展这段
阅读全文
摘要:转载一篇乐哥的博客,对虚函数,虚函数表和派生类对象赋予给基类指针时地址的变化等会有更深的理解 https://mp.weixin.qq.com/s?__biz=Mzk0MzI4OTI1Ng==&mid=2247489554&idx=1&sn=f5d7e6cd5d23e8e01c413af1dc8fe
阅读全文
摘要:五年前的时候,因为OOM导致进程无故被kill掉,也没有coredump,分析了好久,最后发现是因为因为glibc的free不一定会将内存归还OS,导致OOM,造成了上千万损失,当时心态差点崩了。 当时大概用了1个月的时间分析gblic下内存管理的源码 之前一直以为glibc只是一个中介,应用程序每
阅读全文

浙公网安备 33010602011771号