#include <iostream>

class StaticClassData {
  int *pointer, value;

public:
  StaticClassData(): pointer(&value) {}
  
  void add(int i) {
    std::cout << "Hello, this is " << this << std::endl;
    value = i;
    std::cout << "I'm fine" << std::endl;
    *pointer = i;
    std::cout << "You never read this text" << std::endl;
  }
};

class SomeClass {
  struct StaticConstructor {
    StaticConstructor(){ storage.add(1); }
  };
  
  static StaticConstructor constructor;
  static StaticClassData storage;
};

SomeClass::StaticConstructor SomeClass::constructor;
StaticClassData SomeClass::storage;

int main(){}