fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Settings {
  5. struct GeneralSettings {
  6. int gi1, gi2;
  7. };
  8.  
  9. GeneralSettings& gs() {
  10. static GeneralSettings gs;
  11.  
  12. return gs;
  13. }
  14.  
  15. int i1, i2;
  16. Settings(int i1, int i2) : i1(i1), i2(i2) {}
  17.  
  18. void do_something() {
  19. printf("%d %d %d %d\n", i1, i2, gs().gi1, gs().gi2);
  20. }
  21. };
  22.  
  23. int main() {
  24. Settings s1(0,1);
  25. Settings s2(1,0);
  26.  
  27. s1.gs().gi1 = 1;
  28. s2.gs().gi2 = 1;
  29.  
  30. s2.do_something();
  31. }
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
1 0 1 1