c++11新特性
文章平均质量分 94
C++11 是第二个真正意义上的 C++ 标准,也是 C++ 的一次重大升级。 C++11 增加了很多现代编程语言的特性,比如自动类型推导、智能指针、lambda 表达式等,这使得 C++ 看起来又酷又潮,一点也不输 Java 和 C#。
BUG键盘侠
C/C++ Linux服务器后台开发
展开
-
c++新特性之匿名函数lambda
使用STL时,往往会大量用到函数对象,为此要编写很多函数对象类。有的函数对象类只用来定义了一个对象,而且这个对象也只使用了一次,编写这样的函数对象类就有点浪费。而且,定义函数对象类的地方和使用函数对象的地方可能相隔较远,看到函数对象,想要查看其 operator() 成员函数到底是做什么的也会比较麻烦。对于只使用一次的函数对象类,能否直接在使用它的地方定义呢?Lambda 表达式能够解决这个问题。使用 Lambda 表达式可以减少程序中函数对象类的数量,使得程序更加优雅。1.如果捕获列表为[&]原创 2022-11-08 11:52:34 · 211 阅读 · 0 评论 -
c++新特性之右值引用和移动语义
C++11中引用了右值引用和移动语义,可以避免无谓的复制,提高了程序性能。C++11在性能上做了很大的改进,最大程度减少了内存移动和复制,通过右值引用、forward、emplace和一些无序容器我们可以大幅度改进程序性能。右值引用仅仅是通过改变资源的所有者来避免内存的拷贝,能大幅度提高性能。forward能根据参数的实际类型转发给正确的函数。emplace系列函数通过直接构造对象的方式避免了内存的拷贝和移动。原创 2022-11-08 11:19:15 · 445 阅读 · 0 评论