首页 > 编程语言 >C++11新特性

C++11新特性

时间:2023-08-29 11:33:25浏览次数:47  
标签:11 std int auto 特性 C++ shared 多线程 ptr



文章目录

  • 一、关键字及新语法
  • 二、STL容器
  • 三、多线程
  • 四、智能指针
  • 五、其他特性


一、关键字及新语法

  • 列表初始化:int a{10}
  • auto:自动类型推导。
  • nullptr:空指针。
  • 范围for:for (auto v : vec)

二、STL容器

  • vector:动态数组。
  • list:双向链表。
  • deque:双端队列。
  • priority_queue:优先队列。
  • map 、set、multiset、multimap:红黑树。
  • unordered_map、unordered_set:哈希表。

三、多线程

  • thread:线程类。
  • condition_variable:条件变量。
  • atomic:原子类型。

四、智能指针

  • shared_ptr:拷贝一个shared_ptr,计数器都会递增;当我们给shared_ptr赋予一个新值或者shared_ptr被销毁时,引用计数会递减。
  • weak_ptr:不增加引用计数,主要是解决循环引用的问题。
  • unique_ptr:独占某一个对象,解决了auto_ptr赋值存在的问题

五、其他特性

  • lambda表达式:auto add= [](int a, int b)->int{ return a + b; };
  • std::move:vec.push_back(std::move(val));
  • std::function:function<int(int, int)> f1 = add; //函数指针
  • std::bind:auto f_wrap = bind(f,x,y,_1,_2); //_1,_2是占位符,x和y是函数f的参数


标签:11,std,int,auto,特性,C++,shared,多线程,ptr
From: https://blog.51cto.com/u_6526235/7273905

相关文章

  • FX110网:识别投资骗局的7个迹象
    在一个高通胀、储蓄利息微薄的时代,投资者被“高收益”、“保证盈利”冲昏头脑的风险越来越大。区分高风险(但合法)的计划和彻头彻尾的骗局并不总是那么容易,有时真相要过几年才会浮出水面。继续读下去,找出那些应该阻止你前进的危险信号。1、他们被授权了吗?在考虑投资公司或顾问时,第......
  • C++语言学习02
    一、函数重载1、什么是函数重载在同一作用域下,函数名相同,参数列表不同的函数构成重载关系函数重载与返回值的类型、参数名无关与作用域是否相同,以及参数列表的数量、参数类型、常属性不同等有关2、C++是如何实现函数重载的?通过g++-S的方式生成汇编代码可以知道,编译器......
  • C++如何写一个简单的DLL文件
     这个东西其实挺简单的,刚开始写的时候,是在VC的编译器上,按照前人的步骤,老失败,折腾我一天了,结果,我换了个编译器,在vs08的平台上,就成功了,好了,不多少了,分享一下:首先建立一个MyDll的win32项目中建立一个DLL类型的工程,然后创建一个CPP文件,取名MyDll,内容如下:extern"C"__declspec(dllex......
  • 数学最终讲义9-11
    第九章第222页第九章第227页第十章第229页第十章第234页第十章第235页第十章第241页第十章第247页第十一章第249页第十一章第251页第十一章第253页第十一章第256页第十一章第259页第十一章第260页第十一章第261页第十一章第264页第十一章第265页......
  • DNGuard 4.11 4.12 4.20等企业旗舰版 安装包下载
    dnguard4.504.404.304.204.124.11企业旗舰版安装包dng加密.net代码混淆代码保护软件加壳企业版很强大,推荐官网购买 DNGuardHVM-.Netobfuscatorandcodeprotectiontool服务过期,忘记版本更新的可以下载,另外也可以尝试使用demo版本加密体验一下dng,dng从4.X版......
  • openGauss学习笔记-53 openGauss 高级特性-Ustore
    openGauss学习笔记-53openGauss高级特性-UstoreUstore存储引擎,又名In-placeUpdate存储引擎(原地更新),是openGauss内核新增的一种存储模式。此前的版本使用的行存储引擎是AppendUpdate(追加更新)模式。追加更新对于业务中的增、删以及HOT(HeapOnlyTuple)Update(即同一页面内更......
  • String 有哪些特性
    不变性:String是只读字符串,是一个典型的immutable对象,对它进行任何操作,其实都是创建一个新的对象,再把引用指向该对象。不变模式的主要作用在于当一个对象需要被多线程共享并频繁访问时,可以保证数据的一致性。•常量池优化:String对象创建之后,会在字符串常量池中进行缓存,如......
  • Educational Codeforces Round 118
    好烦,又是只有三题,讲课的老师实在是太吵了,没法思考细节A题开始还搞麻烦了B题纯诈骗,找最小的做y即可C题直接二分判断即可D题其实没看多久我就秒了,对于当前的数x来说无非就是mex=x-1mex=xmex=x+1\(f[x]\)表示mex=x,后面没有数\(g[x]\)表示mex=x,后面有x+1,并且只可能是x+1,不可......
  • 笔记-《深入理解java虚拟机-JVM高级特性与最佳实践》
    想深入了解虚拟机相关知识,所以买此书学习,记录笔记,用于后续复习查看本文内容基本摘抄自《深入理解java虚拟机-JVM高级特性与最佳实践》,以供复习之用,没有多少参考价值。想要更详细了解请参考原书。本书是第二版。基于jdk1.7的,1.7中新增了G1收集器。第一部分走近Java  ......
  • Java 8 新特性
    Java8新特性Java8新特性主要是函数式编程!Java8新增了非常多的特性,我们主要讨论以下几个:Lambda表达式−Lambda允许把函数作为一个方法的参数(函数作为参数传递到方法中)。方法引用−方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器......