![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ 新特性
文章平均质量分 77
C++ 新特性
爱吃红萝卜的小白兔
这个作者很懒,什么都没留下…
展开
-
C++ 新特性 | C++ 11 | typename关键字
在C++的模板编程中,原创 2024-06-12 13:55:32 · 467 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | 尾置返回类型
在C++中,函数返回类型的推导一直是一个重要的特性,它允许程序员在编写代码时更加灵活和简洁。特别是在C++11及以后的版本中,尾置类型推导(Trailing Return Type)的引入,为模板编程和复杂函数的返回类型提供了更多的便利。原创 2024-05-21 22:28:10 · 299 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | std::forward、万能引用与完美转发
是C++11中引入的一个函数模板,用于实现完美转发。它的作用是根据传入的参数,决定将参数以左值引用还是右值引用的方式进行转发。传统上,当一个左值传递给一个函数时,参数会以左值引用的方式进行传递;当一个右值传递给一个函数时,参数会以右值引用的方式进行传递。完美转发是为了解决传递参数时的临时对象(右值)被强制转换为左值的问题。。原创 2024-01-24 18:12:08 · 1971 阅读 · 2 评论 -
C++ 新特性 | C++ 11 | function与bind
一、包装器原创 2023-05-11 15:47:38 · 274 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | lambda表达式
是一个,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个,即没有函数名的函数。Lambda表达式可以表示(注意和数学传统意义上的不同)。闭包就是能够读取其他函数内部变量的函数,可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。后面主要说明和与具名函数的定义一致,没有区别。原创 2023-09-19 23:08:55 · 252 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | 智能指针
智能指针是一个RAII(Resource Acquisition is initialization)类模型,是行为类似于指针的类对象,用来动态的分配内存。它提供所有普通指针提供的接口,却很少发生异常。在构造中它分配内存,当离开作用域时它会自动释放已分配的内存。这样的话,程序员就从手动管理动态内存的繁杂任务中解放出来了。常见的智能指针模板有四类:unique_ptr、shared_ptr、weak_ptr、auto_ptr等四类,其中auto_ptr已经在C++ 17中移除,所以重点讲解其余三个指针模板。原创 2023-04-18 20:53:53 · 400 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | 移动语义与右值引用
左值是一个表示数据的表达式,程序可以获取其地址。左值可以出现在赋值语句的左边,也可以出现在赋值语句的右边。原创 2023-09-13 23:00:44 · 216 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | 基于范围的for循环
在C++98中如果要遍历一个数组,可以按照以下方式进行10对于一个而言,由程序员来说明循环的范围是多余的,有时候还会容易犯错误。因此C++11中引入了基于范围的for循环。for循环后的括号由冒号":"分为两部分,第一部分是范围内用于迭代的变量,第二部分则表示被迭代的范围。10与普通循环类似,可以用continue来结束本次循环,也可以用break来跳出整个循环。原创 2023-08-23 07:48:57 · 169 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | 列表初始化
int _y;return 0;原创 2023-08-23 07:28:55 · 165 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | decltype 关键字
decltype 是 C++11 新增的一个用来推导表达式类型的关键字。和 auto 的功能一样,用来在编译时期进行自动类型推导。引入 decltype 是因为 auto 并不适用于所有的自动类型推导场景,在某些特殊情况下 auto 用起来很不方便,甚至压根无法使用。原创 2023-08-23 07:14:51 · 461 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | auto 关键字
在编程语言分类中,C/C++C常常被认为是静态类型的语言。而有的编程语言则号称是“动态类型”的,比如python。通常情况下,“静”和“动”的区别是非常直观的。看看下面这段简单的python代码这段代码中Python中输出hellow,world的实现。这就是编程语言中的“动态类型”,在运行时来进行类型检查,而C++中类型检查是在编译阶段。动态类型语言能做到在运行时决定类型,主要归功于一技术,这技术是类型推导。原创 2023-06-14 07:40:05 · 504 阅读 · 0 评论 -
C++ 新特性 | C++ 11 | nullptr 关键字
一、nullptr 关键字原创 2023-06-11 10:34:35 · 572 阅读 · 0 评论