fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Pituh {
  5. union {
  6. int a;
  7. double b;
  8. };
  9. void set(int k, int v1, double v2) {
  10. if (k % 2 == 0) {
  11. a = v1;
  12. } else {
  13. b = v2;
  14. }
  15. }
  16. void print(int k) {
  17. if (k % 2 == 0) {
  18. cout << a << endl;
  19. } else {
  20. cout << b << endl;
  21. }
  22. }
  23. };
  24.  
  25. static_assert(sizeof(Pituh) == 8);
  26.  
  27. int main() {
  28. Pituh p1;
  29. p1.set(0, 1, 0.5);
  30. p1.print(10);
  31. Pituh p2;
  32. p2.set(1, 1, 0.5);
  33. p2.print(11);
  34. }
  35.  
Success #stdin #stdout 0s 4396KB
stdin
Standard input is empty
stdout
1
0.5