title: What's the point of g++ -Wreorder?
body: <p>The g++ -Wall option includes -Wreorder.  What this option does is described below.  It is not obvious to me why somebody would care (especially enough to turn this on by default in -Wall).</p>
  
  <pre>
  -Wreorder (C++ only)
    Warn when the order of member initializers given in the code does not
    match the order in which they must be executed.  For instance:
  
      struct A {
        int i;
        int j;
        A(): j (0), i (1) { }
      };
  
    The compiler will rearrange the member initializers for i and j to
    match the declaration order of the members, emit-ting a warning to that
    effect.  This warning is enabled by -Wall.
  </pre>