c
-
C++聚合和组合详解
当一个类的对象拥有另一个类的对象时,就会发生类聚合。类组合是一种聚合形式,其中拥有者类控制被拥有者类对象的生命周期。 我们知道,一个类可以包含成员,而该成员本身又可以是其他类的对象…
-
C++转换构造函数(详解版)
一个构造函数接收一个不同于其类类型的形参,可以视为将其形参转换成类的一个对象。像这样的构造函数称为转换构造函数。 除了创建类对象之外,转换构造函数还为编译器提供了执行隐式类型转换的…
-
C++移动构造函数和移动赋值运算符详解
先来看一个 NumberArray 类程序: //overload2.h中 class NumberArray { private: double *aPtr; int array…
-
C++ 随机数生成(STL 随机数生成)完全攻略
在随机数生成方面 STL 有 4 个术语: 随机数生成引擎是一个定义了生成随机位序列的无符号整数序列机制的类模板。STL定义了3个代表随机数引擎的类模板。本章的后面会对它们进行简短…
-
缓冲区溢出,C语言缓冲区完全攻略
虽然“缓冲区溢出”对现代操作系统与编译器来讲已经不是什么大问题,但是作为一个合格的 C 程序员,还是完全有必要了解它的整个细节。这里需要特别说明的是,为了更…
-
数组越界及其避免方法,C语言数组越界详解
所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外,这类错误也是 C 语言程序中最常见的错误之一。 在 C 语言中,数…
-
void指针及其应用,C语言void指针及使用注意事项详解
void 指针是一种特殊的指针,表示为“无类型指针”,在 ANSI C 中使用它来代替“char*”作为通用指针的类型。由于 voi…
-
C语言空(null)指针和NULL指针的区别详解
对于空(null)指针与 NULL 指针,相信许多读者对它们之间的关系都很迷惑,甚至有很大一部分读者会认为它们根本就是一回事。其实不然,它们之间存在着一定的本质区别,下面就来详细阐…
-
位操作及其使用注意事项,C语言位操作及其使用方法详解
我们知道,程序中的所有数据在计算机内存中都是以二进制的形式进行存储的,数据的位是可以操作的最小数据单位,位操作就是直接对整数在内存中的二进制位进行操作。因此,在理论上,我们可以通过…
-
C++函数对象详解(附带实例)
如果一个类将()运算符重载为成员函数,这个类就称为函数对象类,这个类的对象就是函数对象。函数对象是一个对象,但是使用的形式看起来像函数调用,实际上也执行了函数调用,因而得名。 下面…