ios — есть ли в c ++ функция, эквивалентная блоку & quot; в цели с?

как сказано в названии.
Есть ли в c ++ особенность, которая эквивалентна «блоку» в цели c?
Благодарю.

-5

Решение

лямбды?

[&](){
printf("Hello!");
}
1

Другие решения

Да, вы можете использовать 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});
1

Это нестандартное расширение C. и это закрытие лямбда функции, в основном это неименованные функционально-подобные объекты, заключающие в себе код, который можно вызывать. Они облегчают написание, например, управляемого событиями кода, где обратные вызовы используются исчерпывающе.
обращаться этот

0
По вопросам рекламы [email protected]