C++11特性
文章平均质量分 89
C++11是指2011年发布的C++版本,在面试中经常会有相关提问
KuoGavin
这个作者很懒,什么都没留下…
展开
-
std::unique_ptr
一、产生的原因: unique_ptr的产生,就是为了解决,raw pointer 的new和delete配对使用问题。对于raw pointer来说,在new了之后,在delete之前往往会出现程序异常,进而导致delete没有被释放,如此以来就会产生内存泄漏。引入了unique_ptr之后,可以有效的减轻C++程序员对于raw pointer的使用负担。参考官方文档: std::uniqu...原创 2021-08-19 10:25:23 · 1282 阅读 · 0 评论 -
右值引用&&
一、 新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面: 消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。能够更简洁明确地定义泛型函数。 二、 何为右值 C++( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。通俗的左值的定义就是非临时对象,那些可原创 2021-06-16 13:15:44 · 725 阅读 · 0 评论 -
override关键字
在学习设计模式的时候接触到了 override 关键字,查看相关资料后整理如下。Override 关键字作用如果派生类在虚函数声明时使用了 override 描述符,那么该函数必须 重写 其基类中的同名函数。否则代码将无法通过编译。举例说明struct Base { virtual void Turing() = 0; virtual void Dijkstra() = 0; virtual void VNeumann(int g) = 0; virtual原创 2021-03-29 13:45:31 · 1392 阅读 · 2 评论 -
C++ lambda表达式
lambda 表达式表示一个可调用的代码单元,用于定义并创建匿名的函数对象,以简化编程工作,其编译器实现方式是创建一个仿函数对象。可以将其理解为一个未命名的匿名内联函数。原创 2021-03-10 11:33:44 · 288 阅读 · 0 评论