Есть ли способ перенести некоторое функциональное программирование на C ++, я хочу доставить некоторые функции или операторы LAMBDA в качестве параметра для другой функции.
, например:
void test(DWORD foo)
{
try { __asm { call foo; } } // very weird way, don't think that could work
catch (...) { () }
}
или:
void test2(DWORD foo)
{
someconnection.Open();
__asm { call foo; } // very weird way, don't think that could work
someconnection.Close();
}
и их использование:
int main ()
{
...
dosomething();
...
void operator()(int n) // lambda expression, not sure if that correct way creating them
{
dosomething();
dosomethingelse();
}
test ( *operator(5) ) // here is what I want
test2 ( *operator(10) ) // here is what I want
...
dosomethingelse();
...
}
Я использую Visual Studio 2010 и не уверен, что смогу использовать там C ++ 0x, но могу ли я использовать boost, если это может сделать то, чтоЯ хочу сделать.
Так есть ли способы сделать это?