title: Is it in C++ standard to align such structures
body: <p>Take this example</p>
  
  <pre><code>class A
  {
  public:
    int a; 
    char b;
    int c;
  };
  </code></pre>
  
  <p>Every compiler (for x86, 32 or 64 bit) I see allocates 12 bytes for class <code>A</code>, instead of 9. So they are aligning <code>b</code> to the integer boundary or bus boundary you can say. My question is if this is in C++ standard to do so and if there are any compilers who does not do like that.</p>