随笔分类 -  c++学习

各种c++的学习资料的感悟
摘要:先后一致次序(memory_order_seq_cst) 如果程序服从先后一致次序,就简单地把一切事件视为按先后顺序发生,其操作与这种次序保持一致。假设在多线程程序的全部原子类型的实例上,所有的操作都保持先后一致,name它们将按某种特定次序改由单线程执行,则俩个程序的操作毫无区别。 缺点:在弱保序 阅读全文
posted @ 2023-05-06 23:36 woodx 阅读(152) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2023-04-23 21:10 woodx 阅读(193) 评论(0) 推荐(0) 编辑
摘要:我一直对有多重继承,且有虚函数或者虚继承的对象内存有一些疑惑 在《深度探索C++对象模型中》做出了解释,下面俩个图就可以解释。 方式一:如果对象多,可能占用内存 方式二: 阅读全文
posted @ 2023-04-12 18:10 woodx 阅读(19) 评论(0) 推荐(0) 编辑
摘要:编译器自动合成的情况 默认构造函数: 带有default constructor的member class 带有default constructor的base class 带有一个virtual function的class 带有一个virtual base的class 拷贝构造函数: 不生成默认 阅读全文
posted @ 2023-04-11 14:31 woodx 阅读(33) 评论(0) 推荐(0) 编辑
摘要:来源《c++并发实战2》 利用c++面向对象的方法,和设计模式的模板方法。 在自己实现了一个简单的future类之后,实现了线程池。目前支持了多优先级队列。 详细可以参照我的github https://github.com/woodx9/WCThreadPool 阅读全文
posted @ 2023-03-29 01:03 woodx 阅读(25) 评论(0) 推荐(0) 编辑
摘要:今天被一个字节的大佬教育了,看了点读写锁的资料 记录一下 https://www.cnblogs.com/fortunely/p/15778050.html#%E5%B0%8F%E7%BB%93 阅读全文
posted @ 2023-03-12 21:50 woodx 阅读(34) 评论(0) 推荐(0) 编辑
摘要:因为在c++里全局变量一般来说用的比较少,所以对extern的理解也就很浅薄 今天有同事问起,所以就深入理解了一下 参考的博客 https://blog.csdn.net/keensword/article/details/401114 阅读全文
posted @ 2023-03-06 14:30 woodx 阅读(11) 评论(0) 推荐(0) 编辑
摘要:除了参数类型之外,加const的引用和指针,也可以定义为重载,详情可以结合下面的三篇文章 https://blog.csdn.net/alidada_blog/article/details/80734900 https://zhuanlan.zhihu.com/p/359466948 https: 阅读全文
posted @ 2023-03-05 02:15 woodx 阅读(13) 评论(0) 推荐(0) 编辑
摘要:今天比较无聊,写了一个贪吃蛇玩玩,只能运行在windows平台下 参考博客: rand生成随机数: https://blog.csdn.net/qq_37050329/article/details/90478174 不用按下enter获得输入:https://blog.csdn.net/weixi 阅读全文
posted @ 2023-02-21 18:51 woodx 阅读(223) 评论(0) 推荐(0) 编辑
摘要:转载乐哥博客 https://mp.weixin.qq.com/s?__biz=Mzk0MzI4OTI1Ng==&mid=2247487751&idx=1&sn=3da21227cb1a4c80e36f91dc823529af&chksm=c33777c0f440fed6f9ebaa7f206f1e 阅读全文
posted @ 2023-02-07 16:35 woodx 阅读(107) 评论(0) 推荐(0) 编辑
摘要:realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。 如果将分配的内存减少,realloc仅仅是改变索引的信息。 如果是将分配的内存扩大,则有以下情况:1)如果当前内存段后面有需要的内存空间,则直接扩展这段 阅读全文
posted @ 2023-02-03 10:15 woodx 阅读(32) 评论(0) 推荐(0) 编辑
摘要:转载一篇乐哥的博客,对虚函数,虚函数表和派生类对象赋予给基类指针时地址的变化等会有更深的理解 https://mp.weixin.qq.com/s?__biz=Mzk0MzI4OTI1Ng==&mid=2247489554&idx=1&sn=f5d7e6cd5d23e8e01c413af1dc8fe 阅读全文
posted @ 2023-02-02 23:46 woodx 阅读(73) 评论(0) 推荐(0) 编辑
摘要:五年前的时候,因为OOM导致进程无故被kill掉,也没有coredump,分析了好久,最后发现是因为因为glibc的free不一定会将内存归还OS,导致OOM,造成了上千万损失,当时心态差点崩了。 当时大概用了1个月的时间分析gblic下内存管理的源码 之前一直以为glibc只是一个中介,应用程序每 阅读全文
posted @ 2023-02-01 14:54 woodx 阅读(197) 评论(0) 推荐(0) 编辑
摘要:参考github thttps://github.com/mtrebi/thread-pool 里面很详细的介绍了需要的一些比较少用的语法知识 // Submit a function to be executed asynchronously by the pool template<typena 阅读全文
posted @ 2022-12-11 23:58 woodx 阅读(362) 评论(0) 推荐(0) 编辑
摘要:在前面放一个源码剖析中看到的auto_ptr的定义文件,补充一点构造函数必须要为explicit,避免一些隐式转换。 补充一点:reset(rhs)函数会删除auto_ptr指向的对象,然后用rhs指向的新建一个 auto_ptr release函数意在将调⽤该函数的智能指针的所有权转移,如 ptr 阅读全文
posted @ 2022-12-09 16:53 woodx 阅读(65) 评论(0) 推荐(0) 编辑
摘要:之前在面试的时候遇到这个问题,一直想不清楚。我自己做了一下实验,发现打出来的地址是一样的,可能和编译器的实现方式有关。 阅读全文
posted @ 2022-12-07 14:26 woodx 阅读(34) 评论(0) 推荐(0) 编辑
摘要:补充:dynamic_cast 是将基类指针转换为派生类指针(一定要确保基类指针指向的是派生类对象) 阅读全文
posted @ 2022-12-07 14:17 woodx 阅读(13) 评论(0) 推荐(0) 编辑
摘要:woodx's c++ dictionaryc++语法知识熟悉面试版:https://blog.csdn.net/Awesomewan/article/details/123948929 c++语法熟悉VS版 https://learn.microsoft.com/zh-cn/cpp/cpp/fri 阅读全文
posted @ 2022-11-08 17:32 woodx 阅读(99) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示