-
对象(object)
C++中的对象指的是一块能存储数据并具有某种类型的内存空间,即一个内存中占据了一定空间且有类型的东西。故,对象必然与计算机内存这个物理设备关联在一起。 因此在C++中,每一个对象都必然有一个唯一的标识(identifier),从而可以知道这个对象在内存中唯一的起始位置。 否则,对象和一个与内存关联在一起的这个概念就无从谈起。
-
变量(variable)
变量提供一个具有名字的、可以供程序操作的存储空间。同对象一样,变量会和计算机内存这个物理设备关联在一起。对于C++程序员来说,变量和对象一般也可互换使用。
有些程序员仅仅在与类有关的场景下才使用“对象”这个词。
有些程序员则把已经命名和未命名的对象区分开来。将命名了的对象称为变量。
有些程序员把对象和值区分开来,对象指能被程序修改的数据,而值指只读的数据。
-
变量的声明(declaration)
声明,使得名字为程序所知,声明不会分配内存。可以声明多次。
-
变量的定义(definition)
定义,创建于名字相关联的实体,即会分配内存。且只能被定义一次。
-
值(value)
值,是一个纯粹的数学抽象概念。例如:数字
10
,或者字符a
,等等。不需要依赖于计算机或者内存而存在。 -
赋值(assignment)
抹去一个对象(或变量)的当前值,用一个新值代替。
-
初始化(initialize)
在创建一个对象的时候,赋予它一个初始值。
-
默认初始化(default initialize)
创建对象(变量)的时候,没有赋予初始值。
-
数据结构(data structure)
数据及其数据所允许的操作的一种逻辑组合。
-
数据类型(data type)
数据类型定义了数据的意义以及如何对其进行操作。
-
声明符
在定义语句中,声明符又叫变量或对象。
-
类型修饰符
用于修饰声明符(变量)的类型的符号。例如:
&
*
const
。 -
常量表达式(const expression)
指值不变,并且在编译过程中就能计算结果的表达式。
-
常量指针(const pointer)
常量指针是一种指针,该指针的值永远不会发生变化。且常量指针必须 被初始化 。即
int *cosnt ptr = nullptr;
-
顶层
const
(top-level)表示 任意对象本身 都是常量,当一个对象(变量)被顶层
const
修饰的时候,必须初始化。const int x = 10; //顶层 conste int *const ptr = &y; // 顶层 const
常量指针就是一种顶层
const
。 -
指向常量的指针(pointer to const)
指向常量的指针,表示指针所指向的对象是一个常量。不能用于改变所指对象的值。
-
底层
const
(low-level const)只与指针和引用等复合类型有关,表面所指向的对象是一个常量。指向常量的指针就是一个底层
const
-
拷贝初始化(copy initialization)
使用
=
去初始化一个变量。编译器会将等号右侧的值拷贝到新创建的对象中去。例如:std::string s1 = "Hello";
-
直接初始化(direct initialization)
不使用
=
去初始化一个对象。而是使用括号的方式。例如:std::string s2("Hello");