智能指针unique_ptr浅析
前言 unique_ptr这个指针是c 11标准时被引入标准库的,有一种说法称它是boost::scoped_ptr的一个分身,并且它在c 11的时候“转正”了,但是scoped_ptr还被留在boost库中,看来没有转正的机会了,不过...
前言 unique_ptr这个指针是c 11标准时被引入标准库的,有一种说法称它是boost::scoped_ptr的一个分身,并且它在c 11的时候“转正”了,但是scoped_ptr还被留在boost库中,看来没有转正的机会了,不过...
前言 weak_ptr这个指针天生一副“小弟”的模样,也是在c 11的时候引入的标准库,它的出现完全是为了弥补它老大shared_ptr天生有缺陷的问题,其实相比于上一代的智能指针auto_ptr来说,新进老大shared_ptr可以说近...
前言 这个指针近乎完美,原来出现在boost库中,c 11时引入了标准库,解决了auto_ptr对内部对象独占的机制,转而采用引用计数的方式,每增加一次赋值,则引用计数加1,每析构一个智能指针对象,则引用计数减1,当引用计数为1时销毁智能...
智能指针作用: 普通指针new以后,有的人忘记删除就会引起内存泄漏,而且删除时也会有一些问题,例如一片内存地址被同时删除多次就会引起程序崩溃。所以这个时候引进了智能指针,可以在离开作用域后自动释放。这里介绍4种智能指针,智能指针包含在头...
介绍condition_variable, wait,wait_for 直接上代码如下: #include
条件变量condition_variable 假设有两个线程,一个线程a一个线程b。 线程a:等待一个条件满足. 线程b:专门往消息队列中扔消息(数据) condition_variable是一个类,和条件相关的类,等待一个条件完成,需要和...
为什么要自己封装个string类?原因很多。qt库有自己的qstring类,mfc有自己的cstring类。stl标准库有自己的std::string类。mysql数据库的c api接口使用原生的char*指针。。。。。。 自己写的程序用那...
考虑互斥量的使用,最基本的代码是: 1 #include
内存对齐问题是各种开发类面试中最热门的问题,面试管一般认为这个问题可以考察被面试者对内存细节的了解情况,确实这个问题对于c 初学者来说是个十足的难题因为它不仅涉及了pragma pack(n) 设定的内存对齐系数还涉及了相关内存分配的细节...
1. 背景 c 11中提供了对线程与条件变量的更好支持,对于写多线程程序方便了很多。 再看c 并发编程,记一下学习笔记。 2. c 11 提供的相关api 3.1 wait wait用于无条件等待,其中predicate表示校验条件,...