From 1.8.1
-1- The constructs in a C++ program create, destroy, refer to, access, and manipulate objects. An object is a region of storage. [Note: A function is not an object, regardless of whether or not it occupies storage in the way that objects do. ] An object is created by a definition (basic.def), by a new-expression (expr.new) or by the implementation (class.temporary) when needed. The properties of an object are determined when the object is created. An object can have a name (clause basic). An object has a storage duration (basic.stc) which influences its lifetime (basic.life). An object has a type (basic.types). The term object type refers to the type with which the object is created.
It's also implicit in this statement from 3.9.1:
Types describe objects (intro.object), references (dcl.ref), or functions (dcl.fct).
Obviously, for "objects" to group everything that's typed other than references or functions, it must include int
et al.
It's worth noting that basic types like int
are not objects in the "Object Oriented" sense, but that's pretty obvious from the fact that they're the same as in C which is not an Object Oriented language.