как сказано в названии.
Есть ли в c ++ особенность, которая эквивалентна «блоку» в цели c?
Благодарю.
лямбды?
[&](){
printf("Hello!");
}
Да, вы можете использовать std :: function (лямбда-функция) в c ++ 11. Эти функции работают как блоки в цели c
Определение
typedef std::function<void(std::string message, bool status)> LoginCallback
Использование в классе функций
void loginUser(std::string email, std::string password, LoginCallback loginCallback)
Предполагая, что вышеуказанная функция находится в LoginClass
Вызов функции
loginClassObj.loginUser("[email protected]", "password", [this](std::string message, bool status){//Callback will received here});