JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C++ 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

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

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

9.1 避免临时对象

9.2 使用内联函数

9.3 使用缺省运算符

9.4 使用值类

9.4.1 选择直接传递类

9.4.2 在不同的处理器上直接传递类

9.5 缓存成员变量

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

9.1 避免临时对象

C++ 函数经常会产生必须创建并销毁的隐式临时对象。对于重要的类,临时对象的创建和销毁会占用很多处理时间和内存。C++ 编译器消除了某些临时类,但是并不能消除所有的临时类。

编写函数时,在确保您的程序易于理解的同时请尽量减少临时对象的数目。这些技术包括:使用显式变量而不使用隐式临时对象,以及使用引用变量而不使用值参数。另外一种技术是实现和使用诸如 += 这样的操作,而非实现和使用只包含 += 的操作。例如,下面的第一行引入了用于保存 a + b 结果的临时对象,而第二行则不是。

T x = a + b;
T x(a); x += b;