fork download
  1. #include <iostream>
  2.  
  3.  
  4. #define CHECK_ALIGNMENT(arg) \
  5.   std::cout << #arg << ": " << (reinterpret_cast<long>(&arg) % sizeof(int)) << std::endl;
  6.  
  7.  
  8. int main()
  9. {
  10. char c = 'a';
  11. unsigned char data[16];
  12. CHECK_ALIGNMENT(c);
  13. CHECK_ALIGNMENT(data[0]);
  14. CHECK_ALIGNMENT(data[4]);
  15. CHECK_ALIGNMENT(data[8]);
  16. CHECK_ALIGNMENT(data[12]);
  17. }
Success #stdin #stdout 0.02s 2724KB
stdin
Standard input is empty
stdout
c: 3
data[0]: 3
data[4]: 3
data[8]: 3
data[12]: 3