首页 > 编程语言 >c++抛出异常

c++抛出异常

时间:2022-09-19 21:33:31浏览次数:68  
标签:std 抛出 c++ 参数 template MyClass 异常 class 模板

try
{
std::cout << "finish" << std::endl;
throw std::out_of_range("error");
return -1;
}
catch (std::exception const& ex)
{
std::cerr << ex.what()<<std::endl;
return EXIT_FAILURE;
}
throw std::out_of_range("error2");//单独会报错

==类模板的特化==

deque管理stack,删除元素会释放内存,重新分配元素不需要移动,对string不起作用。

==类模板局部特化==

template <typename T1, typename T2>
class MyClass
{};

//参数类型相同
template <typename T>
class MyClass<T, T>
{};

//int
template <typename T>
class MyClass<T, int>
{};

//指针类型

template <typename T1, typename T2>
class MyClass<T1*,T2*>
{};

//有时候二义性,多指定类型

template <typename T>
class MyClass<T*, T*>
{};

可以缺省参数

==非类型的模板参数==

template <typename T1, int T2>
class MyClass
{};

使用MyClass<int,20> a;

//使用下面的缺省也可,不够灵活

template <typename T1, int T2=100>
class MyClass
{};

重载函数的集合不能用于模板参数的演绎,函数模板的实参强制类型转换为具体的类型(int(*)(int const&))add<int,5>

4.3非类型模板参数

浮点数类对象不允许

依赖于模板参数的对象,模板内部使用 ==.template==

标签:std,抛出,c++,参数,template,MyClass,异常,class,模板
From: https://www.cnblogs.com/timapi/p/16709034.html

相关文章

  • 04(C++二级)
    1.常量字符串“ABCDE”中,结尾还保留一个空字符‘\0’,总共有6个字符,所以字符数组s使用常量字符串初始化时,s的数组大小必须 >= 6 。如:chars[6]="abcde";    ......
  • C++中的Lambda表达式
    C++中的Lambda表达式代码如下:[capture](parameters)mutable->return-type{statement}[capture]:捕捉列表。捕捉列表总是出现在Lambda函数的开始处。实际上,[]是Lambd......
  • C++软件设计模式
    模式:在某些场景下,针对某类问题的某种通用的解决方案。1.六大设计模式单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。开放封闭原则:软件实体可以扩展,但是不可......
  • 安装Nginx报错:make: *** 没有规则可以创建“default”需要的目标“build”。 停止 安
    安装nginx要先安装那四个依赖yum-yinstallgccgcc-c++autoconfautomakemake CentOS下 安装 nginx执行配置命令./configure--prefix=/opt/nginx--sbin-pa......
  • C++中指针理解
    参考https://www.runoob.com/cplusplus/cpp-pointers.html正文指针的使用就像java中对象的赋值使用一样,如java中:classUser{ publicintage; User(intage){......
  • T1022: 整型与布尔型的转换(信息学一本通C++)
    [题目描述]将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?[输入]一个整型范围内的整数,即初始时整型变量的值。[输出]一......
  • T1021: 打印字符(信息学一本通C++)
    [题目描述]输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。[输入]一个整数,即字符的ASCII码,保证存在对应的可见字符。[输出]一行,包含相应的字......
  • T1023: Hello,World!的大小(信息学一本通C++)
    [题目描述]我们曾经输出过的“Hello,World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。[输入](无)[输出]一......
  • T1003: 对齐输出(信息学一本通C++)
    [题目描述]读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。[输入]只有一行,按照格式要求依次输出三个整数,之间......
  • T1006: A+B问题(信息学一本通C++)
    [题目描述]求两个整数的和。[输入]只有一行,两个用空格隔开的整数。[输出]两个整数的和。[输入样例]12[输出样例]3 #include<iostream>usingnamespacestd......