现在位置: 首页

C/C++ 协程库boost.coroutine2、魅族libgo、腾讯libco、开源libaco详解

2019-04-25 15:35 工业·编程  ⁄ 共 9715字 暂无评论
      最近研究高性能C++协程,网上了解到了魅族libgo、腾讯libco、开源libaco、boost coroutine,这里记录一下。 1 什么是协程        协程可以很轻量的在子例程中进行切换,它由程序员进行子例程的调度(即切换)而不像线程那样需要内核参与,同时也省去了内核线程切换的开销,因为一个协程切换保留的就是函数调用栈和当前指令的寄存器,而线程切换需要陷入内核态,...
阅读全文

C++11智能指针(六):unique_ptr介绍与例子

2019-04-24 22:27 工业·编程  ⁄ 共 4648字 暂无评论
unique_ptr <>是c ++ 11提供的智能指针实现之一,用于防止内存泄漏。unique_ptr对象包含一个原始指针,并负责其生命周期。当这个对象被销毁的时候,它的析构函数会删除关联的原始指针。 unique_ptr有重载的- >和*运算符,所以它可以被用于类似于普通的指针。 示例: #include <iostream> #include <memory> struct Task {   int mId;   Task(int id) : mId(id) {     std::cout ...
阅读全文

C++11智能指针(五):shared_ptr的循环引用的问题及weak_ptr

2019-04-23 22:24 工业·编程  ⁄ 共 3379字 暂无评论
shared_ptr的主要优点是当不再使用时会自动释放相关的内存。 但是如果我们不仔细使用shared_ptr,那么这个优势就会变成一个劣势。 我们来看看: 假设我设计一个二叉树,并在其中包含一个指向左右子节点的指针。 #include <iostream> #include <memory> class Node {   int value; public:   std::shared_ptr<Node> leftPtr;   std::shared_ptr<Node> rightPtr;   Node(int val) :...
阅读全文

中央财经委员会第四次会议

2019-04-22 22:19 战略·谋略  ⁄ 共 1684字 暂无评论
中共中央总书记、国家主席、中央军委主席、中央财经委员会主任习近平4月22日上午主持召开中央财经委员会第四次会议,研究全面建成小康社会补短板问题和中央经济工作会议精神落实情况。习近平在会上发表重要讲话强调,全面建成小康社会取得决定性进展,要正确认识面临的短板问题,聚焦短板弱项,实施精准攻坚。要勇于破题、善于解题,抓好中央经济工作会议精神的贯彻落实。 中共中央政治局常委、国务院总理、中央财经委员会副...
阅读全文

C++11智能指针(四):创建shared_ptr对象

2019-04-22 22:16 工业·编程  ⁄ 共 1177字 暂无评论
1、尽量不要使用相同的原始指针来创建多个shared_ptr对象,因为在这种情况下,不同的shared_ptr对象不会知道它们与其他shared_ptr对象共享指针。 这样会造成什么样的问题? 设想两个shared指针由相同的原始指针创建: int *rawPtr = new int(); std::shared_ptr<int> ptr_1(rawPtr); std::shared_ptr<int> ptr_2(rawPtr); 假设ptr_2超出范围,那么它将删除关联的原始指针,这样ptr1就会指向一个悬挂指针。 所以,当...
阅读全文

去除快捷方式图标上的小白块

2019-04-22 21:19 博客心语  ⁄ 共 327字 暂无评论
我们桌面上的快捷方式图标外加了一个小白块,虽然不影响运行,但是会影响操作体验以及桌面美观。为了解决这个问题有的人使用了重建图标缓存或更换系统主题依然没有解决这个问题,下面我们演示下如何彻底解决这个问题。 解决故障方法: 1、下载DISM++工具,这是一个优化系统的绿色工具,文件没多大,下载下来解压一下。 2、打开DISM++主进程 3、软件窗口中,控制面板——系统优化——Explorer——把“隐藏快捷方式小箭头”给关闭。 4、点...
阅读全文

c++11智能指针(三):shared_ptr和指针

2019-04-21 22:12 工业·编程  ⁄ 共 1062字 暂无评论
++,--和[]操作符 相比于原始指针,shared_ptr只提供这些运算符: 1) ->, * 2) 比较运算符 但是,shared_ptr不提供 1) 指针运算比如+,-,++,-- 2) Operator [] 例子: #include <iostream> #include <memory> struct Sample {   void dummyFunction() {     std::cout << "dummyFunction" << std::endl;   } }; int main() {   std::shared_ptr<Sample>...
阅读全文

c++11智能指针(二):shared_ptr和自定义的Deleter

2019-04-20 22:07 工业·编程  ⁄ 共 2332字 暂无评论
当一个shared_ptr对象超出作用域时,其析构函数被调用,在析构函数中,将其引用计数减1,如果引用计数的值变为0,则删除关联的原始指针。 要删除析构函数中的内部原始指针,默认情况下,shared_ptr调用delete()函数,即 delete Pointer; 但是,我们在析构函数中并不总是要使用delete函数,还可能有其他的需求。 如果shared_ptr指向一个数组而不是一个简单的指针 std::shared_ptr<int> p3(new int[12]); 在其析构函数中,s...
阅读全文

C++11智能指针(一):shared_ptr介绍与实例

2019-04-19 21:59 工业·编程  ⁄ 共 2251字 暂无评论
std::shared_ptr<>是c++11中引入的一种智能指针,它足够聪明,如果指针不在任何地方使用,就会自动删除指针。这可以帮助我们彻底消除内存泄露和悬挂指针的问题。 shared_ptr和共享所有权 它遵循共享所有权的概念,即不同的shared_ptr对象可以与相同的指针相关联,并且在内部使用引用计数机制来实现。 每个shared_ptr对象内部指向两块内存区域 1)指向对象 2)指向用于引用计数的控制数据 共享所有权怎样在引用计数的帮助下...
阅读全文

第十九届中共中央政治局第十四次集体学习

2019-04-19 19:57 战略·谋略  ⁄ 共 1477字 评论 1 条
中共中央政治局4月19日下午就五四运动的历史意义和时代价值举行第十四次集体学习。中共中央总书记习近平在主持学习时强调,五四运动是我国近现代史上具有里程碑意义的重大事件,五四精神是五四运动创造的宝贵精神财富。今天,我们纪念五四运动、发扬五四精神,必须加强对五四运动和五四精神的研究,以引导广大青年在五四精神激励下,为决胜全面建成小康社会、夺取新时代中国特色社会主义伟大胜利、实现中华民族伟大复兴的中国...
阅读全文