当前位置: 首页 > news >正文

type alias+noexcept+override+final

Type alias类型化名–类似于typedef

在这里插入图片描述

(1)typedef void(func)(int,int)说明func是一个函数指针,与下面的using func=void()(int,int)等价,但是using更加的明显,凸显func是一个类型;
(2)右侧也是等效,using value_type=T等价于typedef T value_type;
函数名就是函数指针

using

在这里插入图片描述

(1)using namespace std;打开名称空间;或者using std::cout;
(2)using _Base::M_allocate;指定去哪里找;后续就可以只写M_allocate;
(3)第三种就是类型化名,using func=void(*)(int,int);

noexcept 不丢出异常

在这里插入图片描述
(1)在函数void foo()后面加上noexcept就是表明,程序员保证这个函数不会出现异常;还可以再加上条件noexcept(true)在符合这个条件下,不会出现异常;是可以加上条件的;
(2)下面框中,表明这个swap保证不丢异常,在x.swap(y)不丢异常的情况下;
(3)出现异常会往调用函数那里寻找处理程序,不然就会一直往回追溯;如果没有找到就会触发std:;terminate()继而触发std:;abort()程序中断;

在Move中必须加上noexcept!!!

在这里插入图片描述

(5)因为vector有成长扩容两倍的过程,每次都需要调用复制构造来到新的空间,如果有Move的话,就会执行move操作,会更加效率;
(6)你写出move必须通过noexcept通知vector,vector才会放心调用Move;如果没noexcept,vector就不会调用Move;

override 改写应用在虚函数身上

在这里插入图片描述
当没有override时,重写虚函数时,当你写错编译器也不会报错,认为是新的一个虚函数,但是加上override之后,写错就会进行报错;

final关键字

在这里插入图片描述
(1)修饰类;给父类写上final就说明自己是继承的最后一级,再有类继承就会报错;
(2)修饰虚函数;就不可以再被子类重写;

相关文章:

  • nova VirtualInterfaceCreateException (by quqi99)
  • 会员积分制度有哪些好处?
  • orc文件的读写及整合hive
  • High Performance Computing 综述
  • DoozyUI⭐️十六、Progressor Group:可视化帮手,进度条组自动求平均值
  • 高德地图 INVALID_USER_SCODE 10008 错误
  • 2020中青杯A题集成电路通道布线数学建模全过程论文及程序
  • 神经系统图 基本结构图,大脑神经网络结构图片
  • 堆排序算法用数组模拟二叉树,求A[K](K>0)的父节点坐标
  • 【Unity】物理引擎、生命周期物理阶段、刚体、碰撞体、触发器、物理材质
  • 苹果证书在线制作
  • redux太繁琐?一文入门学会使用mobx简化项目的状态管理
  • python获取获得一个月中的最后一天
  • 用代码过中秋,python海龟月饼你要不要尝一口?
  • 洛谷刷题C语言:FAKTOR、BELA、PUTOVANJE、使用三个系统程度的能力、R.I.P.
  • 10个确保微服务与容器安全的最佳实践
  • Angular数据绑定机制
  • Apache Zeppelin在Apache Trafodion上的可视化
  • mysql外键的使用
  • select2 取值 遍历 设置默认值
  • swift基础之_对象 实例方法 对象方法。
  • 从重复到重用
  • 聊聊directory traversal attack
  • 设计模式 开闭原则
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 一个JAVA程序员成长之路分享
  • 硬币翻转问题,区间操作
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​ubuntu下安装kvm虚拟机
  • # centos7下FFmpeg环境部署记录
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (11)MSP430F5529 定时器B
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Git) gitignore基础使用
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (排序详解之 堆排序)
  • (十)c52学习之旅-定时器实验
  • (学习日记)2024.02.29:UCOSIII第二节
  • (已解决)什么是vue导航守卫
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)菜鸟学数据库(三)——存储过程
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *1 计算机基础和操作系统基础及几大协议
  • .NET CORE Aws S3 使用
  • .net 验证控件和javaScript的冲突问题
  • .NET/C# 使用反射注册事件
  • .net经典笔试题
  • .NET中使用Protobuffer 实现序列化和反序列化
  • :=
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解