Sell me const-correctness

This is the definitive article on “const correctness”: https://isocpp.org/wiki/faq/const-correctness.

In a nutshell, using const is good practice because…

  1. It protects you from accidentally changing variables that aren’t intended be changed,

  2. It protects you from making accidental variable assignments. For instance, you are protected from

    if( x = y ) // whoops, meant if( x == y ).
    
  3. The compiler can optimize it.

At the same time, the compiler can generate more efficient code because it knows exactly what the state of the variable/function will be at all times. If you are writing tight C++ code, this is good.

You are correct in that it can be difficult to use const-correctness consistently, but the end code is more concise and safer to program with. When you do a lot of C++ development, the benefits of this quickly manifest.

Leave a Comment