【C++】C++11的新特性
1. C++11简介 在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊....

C++11新特性(语法糖,新容器)
距离C++11版本发布已经过去那么多年了,为什么还称为新特性呢?因为笔者前面探讨的内容,除了auto,范围for这些常用的,基本上是用着C++98的内容,虽说C++11已经发布很多年,却是目前被使用最广泛的版本。因为新版本的发布,编译器要很长时间才能支持新语法新特性,有一句话说得挺好,C/C++之所以强大,是因为它们的编译器很强大。C++23版本已经发布,但真想普遍使用不知道还得多少年呢?尤其是....

C++14新特性扫盲探究
闲暇之时,聊到C++14,实际上C++14相对之前的11并没有太大的改动,或者说更像C++11标准基础上的查漏补缺,C++14之后,还有17、20甚至23,所以说,C++14更像个过渡版本。下面粗略聊聊C++14新特性: 1.语言特性:初始化列表(Initializer lists):允许在构造函数中使用初始化列表来初始化成员变量。constexpr(常量表达式):允....

C++17新特性之try_emplace与insert_or_assign
由于std::map中,元素的key是唯一的,我们经常遇到这样的场景,向map中插入元素时,先检测map指定的key是否存在,不存在时才做插入操作,如果存在,直接取出来使用,或者key不存在时,做插入操作,存在时做更新操作。通用的做法,可以直接用emplace操作,判断指定的key是否存在,如果不存在,则插入元素,当元素存在的时候,emplace依然会构造一次带待插入元素,判断不需要插入后,将该....

C++17新特性之std::string_view
std::string_view系C++17标准发布后新增的内容,类成员变量包含两个部分:字符串指针和字符串长度,相比std::string, std::string_view涵盖了std::string的所有只读接口。如果生成的std::string无需进行修改操作,可以把std::string转换为std::string_view,std::string_view记录了对应的字符串指针和偏移....

C++11新特性探究:显式override和final
C++中,我们一般可以以基类声明纯虚函数,然后让派生类继承并重写这个虚函数,用override表示显示覆盖基类方法,但一直没有提供一种方法来阻止派生类继承基类的虚函数。C++11标准引入了final说明符,很好的解决了上面的问题。final告诉编译器,该虚函数不能被派生类重写。废话不多说,上代码,试着指出来下面的代码有哪些问题?class Base { public: virtual voi...
C++11新特性探索:原始字符串字面值(raw string literal)
原始字符串字面值(raw string literal)是C++11引入的新特性。原始字符串简单来说,“原生的、不加处理的”,字符表示的就是自己(所见即所得),引号、斜杠无需 “\” 转义,比如常用的目录表示,引入原始字符串后,非常方便。格式如下:R"(原始字符串)";废话不多说,上代码:比如显示RedistList目录,用redist_path1显然是错的,C++ 11之前需要用redist_....

2023-4-6-C++11、C++14、C++17、C++20版本新特性系统全面的学习!(四)
例如:#include <optional> #include <iostream> int main() { std::optional<int> opt; int i = opt.value_or(42); // 使用提供的默认值获取 optional 中的值 std::cout << "The value of opt...
2023-4-6-C++11、C++14、C++17、C++20版本新特性系统全面的学习!(三)
正则表达式正则表达式(Regular Expression,常简写为regex、regexp或RE)。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。C++11开始支持正则表达式。正则表达式非常强大,具体的实现算法有差异,所以会有多种实现方式。C++11支持6种正则表达式引擎。ECMAScript 是其中支持最多元素的引擎,也是regex默认支持的引擎。ECMAScriptbasi....

2023-4-6-C++11、C++14、C++17、C++20版本新特性系统全面的学习!(二)
智能指针c++11引入了三种智能指针:std::shared_ptrstd::weak_ptrstd::unique_ptrshared_ptrshared_ptr使用了引用计数,每一个shared_ptr的拷贝都指向相同的内存,每次拷贝都会触发引用计数+1,每次生命周期结束析构的时候引用计数-1,在最后一个shared_ptr析构的时候,内存才会释放。智能指针还可以自定义删除器,在引用计数为0....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
C++更多新特性相关
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注