Re: STL set inside inside a class
Re: STL set inside inside a class
- Subject: Re: STL set inside inside a class
- From: Paul Forgey <email@hidden>
- Date: Wed, 17 May 2006 16:43:48 -0700
On May 17, 2006, at 4:10 PM, Jan Brittenson wrote:
Paul Forgey wrote:
That means depthCount[depth]++ will always do what you expect
since the default instantiation of a simple scaler type is 0.
This is only true for statics.
In an STL container the behavior is defined. When a std::map inserts
an element and the mapped_type of the value to insert is not
specified, mapped_type () is used. The constructor instantiation of
a simple scaler type is defined to be 0.
e.g.
int i; // undefined
int j = int (); // is 0.
If
the object is static, then its initializer may not have been called
yet while some other static
object's initializer wants to call it; in this case review the link
order, or the order in which
the static objects appear if they're in the same file.
My experience with any static object having a constructor is to just
don't do it.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden