title: Why do const variables have to be initialized right away?
body: <p>This is a general programming question. I'm learning about C++ and I've learned that any const variables, ie: <code>const int i</code>, or <code>int *const ptr</code>, have to be initialized right away.</p>
  
  <p>This is also the underlying reason that references to addresses must be initialized right away, because the addresses are <code>const</code>.</p>
  
  <p>But I can't find the reason why this must be done / why this rule is imposed.</p>
  
  <p>Can anyone explain this for me please?</p>