文章 2021-11-14 来自:开发者社区

详谈C++11新特性之future及开源项目ananas(folly,std c++11和ananas的future各自的区别是?)(而)

下面就几种场景展示一下使用ananas future的解决方案。3.使用场景3.1 按顺序向多个服务器发起请求:链式调用服务器需要向redis1拉取玩家基础信息,获得基础信息后,又根据其内容,再向redis2请求获取详细信息。在老式C代码中,使用callback我们一般需要保存上下文,而C++11可以利用shared_ptr和lambda模拟闭包以捕获上下文://1. 异步获取基础信息 redi....

文章 2021-11-14 来自:开发者社区

详谈C++11新特性之future及开源项目ananas(folly,std c++11和ananas的future各自的区别是?)(一)

一、前言1、最早我是从微信公众号看到这篇文章的,了解到开源项目ananas(A C++11/golang protobuf RPC framework)实现了Linux高性能网络库和rpc功能,里面的核心是重写了C++11 future的用法。微信文章的链接是:https://mp.weixin.qq.com/s/hurLTscQv0eQHXqCmtKaJQananas的作者是Bert Youn....

文章 2020-05-01 来自:开发者社区

透彻理解C++11新特性:右值引用、std::move、std::forward

透彻理解C++11新特性:右值引用、std::move、std::forward 目录浅拷贝、深拷贝左值、右值右值引用类型强转右值 std::move重新审视右值引用右值引用类型和右值的关系函数参数传递函数返还值传递万能引用引用折叠完美转发 std::forwardC++11出现的右值相关语法可谓是很多C++程序员难以理解的新特性,不少人知其然而不知其所以然,面试被问到时大概就只知道可以减少开销....

文章 2017-12-26 来自:开发者社区

Qt5 中对 C++11 一些新特性的封装

C++11 是现在的 C++ 标准的名称,C++11 为 C++ 语言带来很多新特性。 而 Qt 4.8 是 Qt 首个在其 API 中开始使用一些新的 C++11 特性的版本,我之前写过一篇博文:C++11 in Qt 4.8 描述了这个问题,这里不再罗嗦。 在 Qt5 中,提供更多 C++11 的特性支持,接下来我们将进行详...

文章 2017-11-14 来自:开发者社区

C++11新特性

C++11新特性非常的多,就一个简单的特性如果要讲解的很清楚并附上事例可能就需要写很多(个人觉着文章太长不利于理解),本片只大概介绍部分特性,以后有机会再针对个别特性做深入解释。以下只是个人在使用过程中觉着经常使用到的部分,现在做如下解释,错误之处望指正​ 1、右值和move语义     C++11 增加一个新的非常数引用(reference)类型,称作右值引用(R-value...

文章 2017-09-06 来自:开发者社区

c++11新特性(4) lambda捕捉块

lambda表达式中的方括号成为捕捉块,能够在这里指定怎样从所在的作用域中捕捉变量. 捕捉的意思是指能够在该lambda中使用该变量.即能够捕获外部变量在lambda表达式内使用. 能够使用两种方式来捕捉所在的作用域中的全部变量. [=]:通过值捕捉全部变量 [&]:通过引用捕捉全部变量 指定空白的捕捉块[]表示不从所在作用域中捕捉变量. 还能够指定捕捉哪些变量以及这些变量的捕捉方法. ....

文章 2017-08-01 来自:开发者社区

《深入理解C++11:C++ 11新特性解析与应用》——导读

前  言 为什么要写这本书 相比其他语言的频繁更新,C++语言标准已经有十多年没有真正更新过了。而上一次标准制定,正是面向对象概念开始盛行的时候。较之基于过程的编程语言,基于面向对象、泛型编程等概念的C++无疑是非常先进的,而C++98标准的制定以及各种符合标准的编译器的出现,又在客观上推动了编程方法的革命。因此在接下来的很多年中,似乎人人都在学习并使用C++。商业公司在邀请C++专家为程序员讲....

文章 2017-08-01 来自:开发者社区

《深入理解C++11:C++ 11新特性解析与应用》——3.4 显式转换操作符

3.4 显式转换操作符 类别:库作者 在C++中,有个非常好也非常坏的特性,就是隐式类型转换。隐式类型转换的“自动性”可以让程序员免于层层构造类型。但也是由于它的自动性,会在一些程序员意想不到的地方出现严重的但不易被发现的错误。我们可以先看看代码清单3-26所示的这个例子。 在代码清单3-26中,声明了两个类型Rational1和Rational2。两者在代码上的区别不大,只不过Rationa.....

文章 2017-08-01 来自:开发者社区

《深入理解C++11:C++ 11新特性解析与应用》——3.3 右值引用:移动语义和完美转发

3.3 右值引用:移动语义和完美转发 类别:类作者 3.3.1 指针成员与拷贝构造 对C++程序员来说,编写C++程序有一条必须注意的规则,就是在类中包含了一个指针成员的话,那么就要特别小心拷贝构造函数的编写,因为一不小心,就会出现内存泄露。我们来看看代码清单3-16中的例子。 在代码清单3-16中,我们定义了一个HasPtrMem的类。这个类包含一个指针成员,该成员在构造时接受一个new操作.....

文章 2017-08-01 来自:开发者社区

《深入理解C++11:C++ 11新特性解析与应用》——3.2 委派构造函数

3.2 委派构造函数 类别:类作者 与继承构造函数类似的,委派构造函数也是C++11中对C++的构造函数的一项改进,其目的也是为了减少程序员书写构造函数的时间。通过委派其他构造函数,多构造函数的类编写将更加容易。 首先我们可以看看代码清单3-9中构造函数代码冗余的例子。 在代码清单3-9中,我们声明了一个Info的自定义类型。该类型拥有2个成员变量以及3个构造函数。这里的3个构造函数都声明了初.....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注