This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ static integer class constants...

John Ratliff wrote:

On comp.lang.c++, Victor Bazarov says my example program is well-formed
standard C++ according to the ISO C++ standard.

"Since their address is never taken, the 'foo::A' and 'foo::B' are, in
fact, compile-time constant expressions that do not require storage.
The objects, therefore, don't need to be defined outside of the class
definition.  g++ 3.3.3 is probably too old.  It's even too old and non-
compliant in this particular case even with 1998 version of the C++
Standard.  The standard was amended to allow const statics to be only
defined in the class definition if their address is not taken _even_
if they are "used" outside the class.  [I am too lazy, though, to look
it up in the Standard...]" -- Victor Bazarov (comp.lang.c++)

Is this a DR? This is (a) the first time I've heard of such a change, and (b) not mentioned in C++ TC1. Please provide a reference.


Nathan Sidwell    ::   ::     CodeSourcery LLC    ::

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]