声明将名称引入到程序中,例如变量、命名空间、函数和类的名称。声明还指定了类型信息以及正在声明的对象的其他特征。C++语言中,名字的声明区域(declarative region),是指一个名字在程序文本中可能有效的最大的区域,在这个区域中,未受限定的该名字绑定到同一个实体。名称的声明区域是它可能保持有效的最大的程序结构,即名称在单个程序中起作用的最大范围,可以是在程序文本的区域没有两个实体被允许具有相同的名称。在方法的上下文中表征声明空间的一种方法是说“类中具有相同名称的所有重载方法的集合”构成“实体”。表征方法的另一种方法是调整声明空间的定义,以表示除了一组方法之外,不允许两个事物具有相同的名称,这些方法在签名方面都不相同。声明区域类型有很多如整个编译单元、整个名字空间、一对花括号{与}括起来的整个语句块、整个函数体(甚至包括函数的形参列表)、类定义(包括成员函数的定义)等等。