Created on 2001-12-09.00:00:00 last changed 161 months ago
[Voted into WP at October 2003 meeting.]
Proposed Resolution (revised October 2002):
Change 11.4.5 [class.ctor] paragraph 5-6 as follows:
A default constructor for a class X is a constructor of class X that can be called without an argument. If there is no
user-declaredconstructor for class X, a default constructor is implicitly declared. An implicitly-declareddefault constructor is an inline public member of its class. A constructor is trivial if it is animplicitly-declared default constructorand if:
- its class has no virtual functions (11.7.3 [class.virtual]) and no virtual base classes (11.7.2 [class.mi]), and
- all the direct base classes of its class have trivial constructors, and
- for all the nonstatic data members of its class that are of class type (or array thereof), each such class has a trivial constructor.
Otherwise, the constructor is non-trivial.
Change 11.4.7 [class.dtor] paragraphs 3-4 as follows (the main changes are removing italics):
If a class has no
user-declareddestructor, a destructor is declared implicitly. An implicitly-declareddestructor is an inline public member of its class. A destructor is trivial if it is animplicitly-declared destructorand if:
- all of the direct base classes of its class have trivial destructors and
- for all of the non-static data members of its class that are of class type (or array thereof), each such class has a trivial destructor.
Otherwise, the destructor is
In 11.5 [class.union] paragraph 1, change "trivial constructor" to "trivial default constructor".
In 6.7.7 [class.temporary] paragraph 3, add to the reference to 11.4.5 [class.ctor] a second reference, to _N4750_.15.8 [class.copy].
In 11.4.5 [class.ctor] paragraph 5, the standard says "A constructor is trivial if [...]", and goes on to define a trivial default constructor. Taken literally, this would mean that a copy constructor can't be trivial (contrary to _N4750_.15.8 [class.copy] paragraph 6). I suggest changing this to "A default constructor is trivial if [...]". (I think the change is purely editorial.)
|2008-10-05 00:00:00||admin||set||status: wp -> cd1|
|2004-04-09 00:00:00||admin||set||messages: + msg1017|
|2003-11-15 00:00:00||admin||set||status: ready -> wp|
|2003-04-25 00:00:00||admin||set||status: review -> ready|
|2002-05-10 00:00:00||admin||set||messages: + msg627|
|2002-05-10 00:00:00||admin||set||status: open -> review|