对象 (object)

对象 (object)#

不正式地说, C++ 中的对象是 "一个已知类型的已初始化内存区域, 该区域保存有对应类型的值" (原文).

它有三个特点:

已知类型

该类型定义了对象所能做的操作和存储方式.

1int value1;     // 对象的类型为 int, 可以进行整除
2double value2;  // 对象的类型为 double, 可以进行一般意义的除法
已初始化

在初始化对象前, 不应使用对象.

1int value;           // 未初始化
2std::cout << value;  // 鬼知道输出什么
3value = 10;          // 赋值为 10
内存区域
1int value;  // value 需要存储其值, 是对象
2int another_value;
3
4int* pointer = &value;          // "指针" 需要存储 value 的地址, 是对象
5pointer      = &another_value;  // 现在, "指针" 存储 another_value 的地址了
6
7int& reference = value;  // "引用" 单纯是 value 的一个别名, 并不存储地址, 不是对象
8// 既然 "引用" 没有存储地址, 而是在最开始确定引用的对象, 那自然无法切换引用的对象了

提示

C++ 中的对象不是面向对象风格所说的 "类与对象" 的对象.