fork download
  1. #include <iostream>
  2.  
  3. class Alignemnt{
  4. public:
  5. Alignemnt():a(){}
  6. int a;
  7. };
  8.  
  9. class Alignemnt_1{
  10. public:
  11. int a;
  12. char array[2];
  13. };
  14.  
  15. class Alignemnt_2{
  16. public:
  17. int a;
  18. char array[2];
  19. int x;
  20. };
  21.  
  22. class Alignemnt_3{
  23. public:
  24. alignas(8) int a;
  25. char array[2];
  26. alignas(8) int x;
  27. };
  28.  
  29. class alignas(8) Alignemnt_4{
  30. public:
  31. int a;
  32. char array[2];
  33. int x;
  34. };
  35.  
  36. int main() {
  37. std::cout << "Sizeof(Alignemnt) :" <<sizeof(Alignemnt) << std::endl;
  38. std::cout << "Sizeof(Alignemnt_1) :" <<sizeof(Alignemnt_1) << std::endl;
  39. std::cout << "Sizeof(Alignemnt_2) :" <<sizeof(Alignemnt_2) << std::endl;
  40. std::cout << "Sizeof(Alignemnt_3) :" <<sizeof(Alignemnt_3) << std::endl;
  41. std::cout << "Sizeof(Alignemnt_4) :" <<sizeof(Alignemnt_4) << std::endl;
  42. }
Success #stdin #stdout 0s 3140KB
stdin
Standard input is empty
stdout
Sizeof(Alignemnt)   :4
Sizeof(Alignemnt_1) :8
Sizeof(Alignemnt_2) :12
Sizeof(Alignemnt_3) :16
Sizeof(Alignemnt_4) :16