title: Signed bit field in C++14
body: <p>I believe that until C++14 a bit field of a struct declared as <code>int</code> was still interpreted as either <code>signed</code> or <code>unsigned</code>, the interpretation being implementation defined. Reference: <a href="http://en.cppreference.com/w/cpp/language/bit_field" rel="nofollow">http://en.cppreference.com/w/cpp/language/bit_field</a>.</p>
  
  <p>Is this still the case in C++14? I.e., is the code below guaranteed to work as inteded?</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  struct X
  {
      int f:3;
  };
  
  int main() 
  {
      X x;
      x.f = -2; // is this going to be indeed signed? It seems so.
      std::cout &lt;&lt; x.f &lt;&lt; std::endl; // displays -2
  }
  </code></pre>