1 Star 2 Fork 0

岑剑伟 / CPlusPlusThings

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
noexcept.cpp 774 Bytes
一键复制 编辑 原始数据 按行查看 历史
//
// Created by light on 19-11-3.
//
#include <iostream>
#include <vector>
using namespace std;
// noexcepte ()中可以加条件
// 异常可传递 a调用b b抛出异常,a没处理,就会抛出异常
// 1.异常的回传机制:调用foo如果抛出异常,foo会接着往上层抛出异常,
// 如果最上层没有处理,则会调用terminate函数,terminate函数内部调用abort,使程序退出
// 2.在使用vector deque等容器的移动构造和移动赋值的时候,如果移动构造和移动赋值没有加上noexcept,
// 则容器增长的时候不会调用move constructor,效率就会偏低,所以后面需要加上noexcept,安心使用。
void foo() noexcept(true) {
}
int main() {
foo();
vector<int> vec;
return 0;
}
C++
1
https://gitee.com/genvex/CPlusPlusThings.git
git@gitee.com:genvex/CPlusPlusThings.git
genvex
CPlusPlusThings
CPlusPlusThings
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891