Выполнение кода 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 :)
}