翻译自msdn,如有不妥当的地方,欢迎指正。
声明(Declaration):声明引入了一个名字以及其类型进入程序中,并没有定义一个相关的对象或者函数。然而,很多声明都作为定义使用。
定义(definition):定义提供了 允许编译器为对象分配内存和生成函数代码的信息。
生命周期(lifetime):一个对象的生命周期是对象存在的时期,包括创建与销毁。
联系(连接,linkage):一个名字可以有外部连接,内部连接,或者没有连接。在一个程序中(一系列的翻译单元中),只有有外部连接的名字才表示同一个对象或者函数。
名字(name):一个名字代表一个对象,函数,一系列的重载函数,枚举器,类型,类成员,模板,值,或者标签。C++使用名字来引用与之相关联的语言元素。名字可以是类型名称或标识符。(名字是有空间时间限制的)
对象(object):一个对象是一个用户定义类型(一个类类型)的实例(一个数据项)。对象与变量之间的区别是变量保留状态信息而对象可以有行为(?)。这里,对象指用户定义类型的实例,而变量指一个基本类型的实例。在“对象”和“变量”都适用的情况下,“对象”用作包容性的术语,表示“对象和变量”。
范围(scope):名字只能用作在特定的区域或者程序文本,这些区域称做名字的作用域。
存储类(storage class):一个命名了的对象的存储类决定了它的生命周期初始化,在某些情况下,它的连接(linkage)。
类型(type):名字与类型相关联,决定了值的意义,或者保存在对象中的或者一个函数返回的值。
变量(variable):一个变量是一个基本类型的数据项。