Calling method of not yet constructed object
<p>Having a simple class:</p>

<pre><code>class A {
public:
  A() {}
  void set(int value) { value_ = value; }

private:
  int value_;
};
</code></pre>

<p>and its global instance:</p>

<pre><code>A a;
</code></pre>

<ol>
<li><p>Is it OK to call method <code>set</code> on a not yet constructed object <code>a</code>? That can happen when for example <code>a.set(123)</code> is called from a constructor of another global object in another translation unit.</p></li>
<li><p>Will the value in the object <code>a</code> set by calling <code>a.set(123)</code> remain when the non-parametric and empty constructor of <code>A</code> is later called for object <code>a</code>?</p></li>
</ol>
