
C++11
文章平均质量分 82
smartDMer
研究方向:音视频技术
展开
-
《深入应用C++11》笔记-异步线程操作std::async、std::future、std::promise、std::packaged_task
上一篇:《深入应用C++11》笔记-互斥量std::mutex、锁std::lock_guard std::async和std::future std::async()是一个接受回调函数或函数对象作为参数的函数模板,并可以异步执行它们。通过这个异步接口可以很方便的获取线程函数的执行结果,std::async会自动创建一个线程去调用线程函数,它返回一个std::future。 ...转载 2019-06-23 07:44:43 · 438 阅读 · 0 评论 -
《深入理解C++11》笔记-智能指针unique_ptr、shared_ptr、weak_ptr
sharerd_ptr不能直接返回this指针(double free类似5.1 a),需要通过派生std::enable_shared_from_this类,并通过其方法shared_from_this来返回智能指针,因为std::enable_shared_from_this类中有一个weak_ptr,这个weak_ptr用来观测this指针,调用shared_from_this方法时,调用了内部的weak_ptr的lock()方法,将所观测的sharerd_ptr返回。转载 2019-06-23 07:52:27 · 494 阅读 · 1 评论 -
C++11中智能指针的原理、使用、实现
目录 理解智能指针的原理 智能指针的使用 智能指针的设计和实现 1.智能指针的作用 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等...转载 2019-06-23 17:35:09 · 181 阅读 · 0 评论