title: Can I get the size of a struct field w/o creating an instance of the struct?
body: <p>It's trivial to get the size of a struct's field in C++ if you have an instance of the struct.  E.g. (uncompiled):</p>
  
  <pre><code>typedef struct Foo {
      int bar;
      bool baz;
  } Foo;
  
  // ...
  
  Foo s;
  StoreInSomething(s.bar, sizeof(s.bar)); // easy as pie
  </code></pre>
  
  <p>Now I can still do something like this, but with the interface I'm implementing (I get a BOOL that indicates what the state of a specific bit in a bitfield should be), I'd be creating the struct solely to get the size of the data member.  Is there a way to indicate to the compiler that it should use the size of a struct's field without creating an instance of the struct?  It would be the philosophical equivalent of:</p>
  
  <pre><code>SetBit(bool val) {
      StoreInSomething(
          BITFIELD_POSITION_CONSTANT, // position of bit being set
          val,                        // true = 1, false = 0
          sizeof(Foo::bar));          // This is, of course, illegal.  (The method I've been told I must use req's the size of the target field.)
  }
  </code></pre>
  
  <p>Creating the struct on the stack should be fast and cheap, but I suspect I'll get dinged for it in a code review, so I'm looking for a better way that doesn't introduce an add'l maintenance burden (such as #defines for sizes).</p>