C++11
文章平均质量分 88
或许对了
我曾七次鄙视自己的灵魂
展开
-
modern-cpp 现代 C++ 教程:高速上手 C++ 11/14/17/20
第 1 章 迈向现代 C++编译环境:本书将使用 clang++ 作为唯一使用的编译器,同时总是在代码中使用 -std=c++2a 编译标志。> clang++ -vApple LLVM version 10.0.1 (clang-1001.0.46.4)Target: x86_64-apple-darwin18.6.0Thread model: posixInstalledDi...转载 2020-03-26 20:22:00 · 2856 阅读 · 0 评论 -
【系列】浅析C++11新特性-转自王书博
吐血整理C++11新特性本文整理一些C++11的新特性,欢迎补充。auto关键字在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。auto i = 42; // i is...转载 2020-03-25 13:06:55 · 272 阅读 · 0 评论 -
C++ 并发编程(从C++11到C++17)
// 07_mutex_lock.cppstatic const int MAX = 10e8;static double sum = 0;static mutex exclusive;void concurrent_worker(int min, int max) { for (int i = min; i <= max; i++) { exclusive.lo...转载 2020-01-09 21:59:03 · 1116 阅读 · 0 评论 -
现代C++语言(C++11/14/17)特性总结和使用建议(四)
二进制数字和数字分隔符除了原有的十进制、十六进制和比较不常用的八进制表示方法之外,C++程序员现在还可以使用二进制表示常量了。二进制常量以前缀0b(或0B)开头,二进制数字紧随其后。在英美两国,在写数字时,我们习惯于使用逗号作为数字的分隔符,如:$1,000,000。这些数字分隔符纯为方便读者,它提供的语法线索使我们的大脑在处理长串的数字时更加容易。基于完全相同的原因,C++标准委员会为C+...转载 2020-01-09 21:47:46 · 1043 阅读 · 2 评论 -
现代C++语言(C++11/14/17)特性总结和使用建议(三)
noexcept修饰符与noexcept操作符noexcept形如起名,表示其修饰的函数不会抛出异常(在C++11中如果noexcept修饰的函数抛出了异常,编译器可以选择直接调用std::terminate()函数来终止程序的运行),有2种语法形式:一种就是简单的在函数声明后加上noexcept关键字,比如:另外一种则可以接受一个常量表达式(结果会被转换成一个bool类型的值,t...转载 2020-01-09 21:47:15 · 978 阅读 · 0 评论 -
现代C++语言(C++11/14/17)特性总结和使用建议(一)
C++语言在历史上经过了很多次的演进。最早的时候,C++语言没有模板、STL、异常等特性,之后加入这些特性形成大多数人所熟悉的C++98/03标准。在此之后,C++经过10多年又孕育出了拥有众多革命性变化的C++11标准(在标准正式发布前,被称为C++0x)。C++11包括了约140个新特性和约600个缺陷的修正。由于其变化实在太大,被很多人称为“现代C++语言”(Modern C++ La...转载 2020-01-09 21:46:00 · 2058 阅读 · 1 评论 -
C++ 11//14/17关键字
C++ 11//14/17关键字using关键字通常我们使用 typedef 定义别名的语法是:typedef 原名称 新名称;,但是对函数指针等别名的定义语法却不相同。 typedef int (*process)(void*);using process = int(*)(void *);using TrueDarkMagic = MagicType<std::vecto...转载 2020-01-03 16:25:09 · 739 阅读 · 0 评论 -
C++11新特性之基本范围的For循环(range-based-for)
转自:https://blog.csdn.net/hailong0715/article/details/54172848 感谢原作者再推荐一个学习C++11的网站https://mbevin.wordpress.com/2012/11/13/auto/Range-Based-For熟悉C++98/03的对于for循环就再了解不过了,如果我们要遍历一个数组,那么在C++98/03...转载 2020-01-02 12:19:14 · 289 阅读 · 0 评论 -
与临时对象的斗争(上)(下)
感谢原作者https://www.cnblogs.com/daocaoren/archive/2011/07/19/2110309.htmlC++ 是一门以效率见长的语言(虽然近来越来越多的人“不齿”谈及效率,我深以为不然,在某一次的程序编写中不对效率锱铢必较并不意味意味着我们就不应该追求更多的更好的做法)。总之吧,相比起其它语言,程序员们在使 C++ 的时候会更加有意识地去避免没有效率的做...转载 2019-12-26 11:06:42 · 133 阅读 · 0 评论 -
关于C++中的临时对象问题
感谢原作者https://www.cnblogs.com/daocaoren/archive/2011/07/19/2110258.htmlC++中真正的临时对象是看不见的,它们不出现在你的源代码中,临时对象的产生在如下几个时刻:1.用构造函数作为隐式类型转换函数时,会创建临时对象。例:class Integer{...转载 2019-12-26 11:04:34 · 162 阅读 · 0 评论 -
Rvalue References: C++0x Features in VC10, Part 2
Rvalue References: C++0x Features in VC10, Part 2对应译文:http://www.cppblog.com/kesalin/archive/2009/05/28/85983.htmlVisual C++February 3rd, 2009Part 1of this series coveredlambdas,...转载 2019-12-26 09:47:45 · 208 阅读 · 0 评论 -
C++11 新特性:Lambda 表达式
或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表达式的支持。在 GCC 4.7 中,默认是不开启 C++ 11 ...转载 2019-12-25 22:07:36 · 150 阅读 · 0 评论