Выполнение кода C ++ вне области функций

(Я знаю) В с ++ яМожно declare variable из области видимости и яне может выполнить любой код / ​​оператор, кроме инициализации глобальных / статических переменных.

IDEA

Это хорошая идея, чтобы использовать нижехитрый код для того, чтобы (например) сделать некоторыеstd::map манипуляция?

Здесь я используюvoid *fakeVar и инициализировать его черезFake::initializer() и делай что хочешь в этом!

std::map<std::string, int> myMap;

class Fake
{
public:
    static void* initializer()
    {
        myMap["test"]=222;
        // Do whatever with your global Variables

        return NULL;
    }
};

// myMap["Error"] = 111;                  => Error
// Fake::initializer();                   => Error
void *fakeVar = Fake::initializer();    //=> OK

void main()
{
    std::cout<<"Map size: " << myMap.size() << std::endl; // Show myMap has initialized correctly :)
}

Ответы на вопрос(10)

Ваш ответ на вопрос