JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.2:C++ 用户指南
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

3.  使用 C++ 编译器选项

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  使用复数运算库

14.1 复数库

14.1.1 使用复数库

14.2 complex 类型

14.2.1 complex 类的构造函数

14.2.2 算术运算符

14.3 数学函数

14.4 错误处理

14.5 输入和输出

14.6 混合模式运算

14.7 效率

14.8 复数手册页

15.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

14.4 错误处理

复数库具有以下用于错误处理的定义:

extern int errno;
class c_exception {...};
int complex_error(c_exception&);

外部变量 errno 是来自 C 库的全局错误状态。errno 可以为标准头文件 errno.h 中所列值(请参见 perror(3) 手册页)。没有任何函数会将 errno 设置为零,但有许多函数会将它设置为其他值。

要分辨特定运算是否失败:

  1. 在运算前将 errno 设置为零。

  2. 测试运算。

函数 complex_error 采用对类型 c_exception 的引用并由下列复数运算库函数调用:

缺省版本的 complex_error 返回零。这个零值的返回意味着发生了缺省的错误处理。可以提供自己的替换函数 complex_error,以执行其他错误处理。cplxerr(3CC4) 手册页中介绍了错误处理。

cplxtrig(3CC4) 和 cplxexp(3CC4) 手册页中介绍了缺省的错误处理,下表中也进行了简要介绍。

复数运算库函数
缺省错误处理汇总
exp
如果产生溢出,将 errno 设置为 ERANGE,并返回一个极大的复数。
log、log10
如果参数为零,将 errno 设置为 EDOM,并返回一个极大的复数。
sinh、cosh
如果参数的虚部产生溢出,则返回一个零复数。如果实部产生溢出,则返回一个极大的复数。无论是以上哪种情况,都将 errno 设置为 ERANGE