gpt4 book ai didi

php - c++ void作为PHP的参数

转载 作者:太空宇宙 更新时间:2023-11-04 15:00:17 24 4
gpt4 key购买 nike

在 PHP 中,您可以创建一个函数作为另一个函数的参数。

示例:

function example($stackoverflow) {
$stackoverflow();
}

example(function() {
echo "Hi StackOverflow !";
}

我想用 C++ 做这个

void Window::clear()
{
EnumChildWindows(g_hWnd, {}, NULL);
}

最佳答案

C++ 中的相应功能可通过函数对象获得std::function :

void call(function<void()> f) {
f();
}

您传递的参数可以是命名函数,例如

void test() {
cout << "test" << endl;
}
...
call(test);

lambda功能,例如

call([]() { cout << "lambda" << endl; });

Demo.

I would like to do this in C++ with a function from the WinAPI.

另一种传递函数的方法是使用函数指针,这是 WinAPI 使用的方法。你不能内联,因为 API 不采用 std::function,所以你必须声明一个命名函数以在调用中使用:

BOOL CALLBACK CheckWindow(HWND hwnd, LPARAM lParam) {
... // Your processing code goes here
return TRUE;
}
...
EnumChildWindows(g_hWnd, CheckWindow, NULL);

关于php - c++ void作为PHP的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com