小编IKn*_*rks的帖子

取消引用函数指针的值是什么意思

#include <iostream>

void PrintTheValue(int(*func)(int a));

int main(int argc, char **argv) {
    PrintTheValue([](int a) {return a; });
    
    return 0;
}

void PrintTheValue(int(*func)(int a)) {
    std::cout << *func << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

在我理解 的概念中func,它将是一个指向按值传递的 int 的指针。但在这种情况下,我传递了一个似乎没有在任何地方被调用的 lambda。(所以根本没有任何价值?)

当我运行它时,它不会破坏程序,而是打印00EE6F80.

这个地址是什么意思?我不知道如何解释它。

c++ function-pointers

4
推荐指数
1
解决办法
72
查看次数

标签 统计

c++ ×1

function-pointers ×1