#include <iostream>
#include <vector>
#include<memory>
#include<string>
using namespace std;
class has_static_constructor
{
public:
friend class static_constructor;
static vector<int> v;
class static_constructor
{
public:
vector<int> * uptt=has_static_constructor::&v; //&v;
static_constructor()
{
cout<<"inside static_constructor";
//uptt = has_static_constructor::v;
has_static_constructor::v.push_back(1);
has_static_constructor::v.push_back(20);
}
} ;
static std::unique_ptr<has_static_constructor::static_constructor> upt ;
};
unique_ptr<has_static_constructor::static_constructor> has_static_constructor::upt(new has_static_constructor::static_constructor());
vector< int > has_static_constructor::v(2,100);
int main() {
// your code goes here
for (std::vector<int>::const_iterator i = has_static_constructor::v.begin(); i != has_static_constructor::v.end(); ++i)
{ std::cout << *i << ' ';
cout<<"\n I was here\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZTxtZW1vcnk+CiNpbmNsdWRlPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBoYXNfc3RhdGljX2NvbnN0cnVjdG9yCnsKICAgIHB1YmxpYzoKCWZyaWVuZCBjbGFzcyBzdGF0aWNfY29uc3RydWN0b3I7CglzdGF0aWMgdmVjdG9yPGludD4gdjsKCQoJCgkJCgkJIGNsYXNzIHN0YXRpY19jb25zdHJ1Y3RvcgoJCXsKCQkJcHVibGljOgoJCQkKCQkJIHZlY3RvcjxpbnQ+ICogdXB0dD1oYXNfc3RhdGljX2NvbnN0cnVjdG9yOjomdjsgLy8mdjsKCQkJc3RhdGljX2NvbnN0cnVjdG9yKCkKCQkJewoJCQkgICAgY291dDw8Imluc2lkZSBzdGF0aWNfY29uc3RydWN0b3IiOwoJCQkJLy91cHR0ID0gaGFzX3N0YXRpY19jb25zdHJ1Y3Rvcjo6djsKCQkJCWhhc19zdGF0aWNfY29uc3RydWN0b3I6OnYucHVzaF9iYWNrKDEpOwoJCQkJaGFzX3N0YXRpY19jb25zdHJ1Y3Rvcjo6di5wdXNoX2JhY2soMjApOwoJCQl9CgkJCQoJCX0gOwoJCQoJCXN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8aGFzX3N0YXRpY19jb25zdHJ1Y3Rvcjo6c3RhdGljX2NvbnN0cnVjdG9yPiB1cHQgOwp9OwoKCgp1bmlxdWVfcHRyPGhhc19zdGF0aWNfY29uc3RydWN0b3I6OnN0YXRpY19jb25zdHJ1Y3Rvcj4gaGFzX3N0YXRpY19jb25zdHJ1Y3Rvcjo6dXB0KG5ldyBoYXNfc3RhdGljX2NvbnN0cnVjdG9yOjpzdGF0aWNfY29uc3RydWN0b3IoKSk7Cgp2ZWN0b3I8IGludCA+IGhhc19zdGF0aWNfY29uc3RydWN0b3I6OnYoMiwxMDApOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkKCWZvciAoc3RkOjp2ZWN0b3I8aW50Pjo6Y29uc3RfaXRlcmF0b3IgaSA9IGhhc19zdGF0aWNfY29uc3RydWN0b3I6OnYuYmVnaW4oKTsgaSAhPSBoYXNfc3RhdGljX2NvbnN0cnVjdG9yOjp2LmVuZCgpOyArK2kpCiAgICB7CXN0ZDo6Y291dCA8PCAqaSA8PCAnICc7CiAgICAJY291dDw8IlxuIEkgd2FzIGhlcmVcbiI7CiAgICB9CiAgICAKCXJldHVybiAwOwp9