Why do pointer / variable memory addresses not change?
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main(void)
{
    int *ptr = new int;
    cout &lt;&lt; "Memory address of ptr:" &lt;&lt; ptr &lt;&lt; endl;
    cin.get();
    delete ptr;

    return 0;
}
</code></pre>

<p>Every time I run this program, I get the same memory address for <code>ptr</code>.  Why?</p>
