Why does statically accessing class data members via pointers returns 1?
<p>Given the following code:</p>

<pre><code>#include &lt;iostream&gt;

using std::cout;

class A {
    public:
        virtual ~A() {}
        int x,y,z;
};

int main (void)
{
    std::cout&lt;&lt;&amp;A::x;
    std::cout&lt;&lt;&amp;A::y;
    std::cout&lt;&lt;&amp;A::z;
}
</code></pre>

<p>The output is: </p>

<blockquote>
  <p>111</p>
</blockquote>

<p>What is the meaning of the output? Why is it 1? Are there any good reason to access class members via pointers (without created object)?</p>

<p>EDIT - Using:</p>

<pre><code>printf("%p",&amp;A::x);
printf("%p",&amp;A::y);
printf("%p",&amp;A::z);
</code></pre>

<p>prints: 4 , 8 and C.</p>

<p>It makes more sense now I guess.. (bytes)
But still, is there any use for that?</p>
