Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
In C++, each computational object is characterized by the properties that define the type of the object. The object is denoted by its name (identifier), and the type is associated with this identifier. Throughout the book, this association was taking place when I specified the object type in object declarations or definitions. This was true both of program variables and of program functions.
At the declaration or definition of a variable, the source code must make the commitment and specify the type of the computational object. This association between the object name and its type cannot be broken during program execution. The program can define other computational objects using the same identifier and the same (or possibly different) type. This is fine. But these other objects will be other objects. Even if they use the same name, they are different computational objects.