![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Daniel_mc
这个作者很懒,什么都没留下…
展开
-
多线程程序中fork容易导致fork出来的子进程中死锁
前言:exce调用并不创建新进程,所以前后的进程ID并未改变,exec只是用一个全新的程序替换了当前进程的正文、数据、堆和栈段多线程程序里不准使用fork :为什么???UNIX上C++程序设计守则3准则3:多线程程序里不准使用fork在多线程程序里,在”自身以外的线程存在的状态”下一使用fork的话,就可能引起各种各样的问题.比较典型的例子就是,fork出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里fork子进程.能引起什么问题呢?那看看实例吧.一执行下面的代码,转载 2020-12-19 21:13:09 · 1165 阅读 · 1 评论 -
浅析void*
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、我是怎么写错的二、错上加错三、根因分析总结void*的释放void*不可以解引用代替泛型的轻量化实现前言好久没写了,记录一下前段时间用void*的错误用法一、我是怎么写错的我就不上来说void*是啥啥啥,然后再来一堆指针的预备知识了。handle_t handle = reinterpret_cast<handle_t>(...func());class A { public: void*原创 2020-12-12 22:00:48 · 254 阅读 · 0 评论 -
final&&override标识符
final&&override标识符finalfinal作用: 限制某个类不能被继承,或者某个虚函数不能被重写class A{ //限制虚函数不能被重写,适用场景通常是一些老接口(避免重写) virtual void foo() final;}class B final : public A{}class C final{}//上述两种方式B和C都不能被继承,不管他们是不是子类override确保子类中声明的重写函数和父类的虚函数有相同的签名,同时是明确的表示原创 2020-05-25 21:18:41 · 154 阅读 · 0 评论 -
委托构造函数&&继承构造函数
委托构造函数&&继承构造函数委托构造函数适用场景注意继承构造函数使用场景委托构造函数允许同一个类中一个构造函数调用另一个构造函数,作用:简化变量的初始化。适用场景class class_c { public: int max_; int min_; int middle_; class_c() {} class_c(int max) { max_ = max > 0 ? max : 10; } class_c(int ma原创 2020-05-24 01:00:30 · 256 阅读 · 0 评论