4
的遺留函數是否安全?我們有一個遺留系統,它使用boost :: function,現在決定遷移到更新的現代C++標準。假設我們有這樣的遺留函數:將C++ 11 std :: function傳遞給需要boost :: function
void someFunction(boost::function<void(int)>);
直接傳遞C++ 11函數是否安全?
//calling site, new C++11 code
std::function<void(int)> func = [](int x){
//some implementation
}
someFunction(func); //will this always work?
boost :: function是否也可以優雅地處理標準C++ 11 lambda?
// will this also work?
someFunction([](int x)->void{
//some implementation
});