2010/12/24 Joel Falcou <joel.falcou@lri.fr>
On 24/12/10 10:36, Roman Perepelitsa wrote:
POD != aggregate. An aggregate class is a class with no user-declared constructors, no private or protected non-static data members, no base classes, and no virtual functions.

The following type is an aggregate but isn't a POD.

struct a
{
    std::string s;
};
I think my POD definition is the same as yours.

Not exactly. Aggregate does not have a recursive requirement (members of aggregate class does not have to be aggregates).
 
I think I misused the term "aggregate construction" used for the {} construction. What's the correct for this then ?

It's called aggregate.

Roman Perepelitsa.