title: Initialization list with items declared but not initialized
body: <p>I have a question regarding initialization lists when I'm not initializing all the items.   </p>
  
  <p>Let's say I have the following code: </p>
  
  <pre><code>class Example {
    int a, b, c;
  
    Example() : a(1), b(2), c(3) {}
  }
  </code></pre>
  
  <p>I'm aware that the order of initialization of members is defined by their order of declaration, not by the order in which they are listed in the initialization list, but, what if I don't have <strong>b</strong> in the initialization list as in the following?</p>
  
  <pre><code>class Example {
    int a, b, c;
  
    Example() : a(1), c(2) {}
  }
  </code></pre>
  
  <p>Will <strong>a</strong> be initialized with <strong>1</strong>, <strong>b</strong> with an undefined value and <strong>c</strong> with <strong>3</strong>? Will I get an undefined behavior because I'm not calling the initialization list strictly with the order I'm declaring? Or none of this?</p>
  
  <p>I'm asking this because I have a class with a lot of data and I want to make sure some of it have an initial value, but I don't need to initialize all of it.</p>