"Wolfgang Jeltsch" <je*****@tu-cottbus.de> wrote in message
news:bj************@ID-77306.news.uni-berlin.de...
currently, I use a C++ Draft Standard from the end of 1996. It often
speaks about POD types but unfortunately I cannot find a definition of
this term. What does it mean?
From the C++ standard:
"An aggregate is an array or a class with no user-declared constructors, no
private or protected non-static data members, no base classes, and no
virtual functions" (section 8.5.1, paragraph 1).
"A POD-struct is an aggregate class that has no non-static data members of
type pointer to member, non-POD-struct, non-POD-union (or array of such
types) or reference, and has no user-defined copy assignment operator and no
user-defined destructor. Similarly, a POD-union is an aggregate union that
has no non-static data members of type pointer to member, non-POD-struct,
non-POD-union (or array of such types) or reference, and has no user-defined
copy assignment operator and no user-defined destructor. A POD class is a
class that is either a POD-struct or a POD-union" (section 9, paragraph 4).
"Arithmetic types, enumeration types, pointer types, and pointer to member
types, and cv-qualified versions of these types are collectively called
scalar types. Scalar types, POD-struct types, POD-union types, arrays of
such types and cv-qualified versions of these types are collectively called
POD types" (section 3.9, paragraph 10).
--
Russell Hanneken
rh*******@pobox.com