gpt4 book ai didi

c++ - 从函数内部更改函数指针的目标有什么问题吗? (C++)

转载 作者:太空狗 更新时间:2023-10-29 20:00:26 24 4
gpt4 key购买 nike

我有一个程序,它定义了从函数指针调用的函数内部更改函数指针的目标函数,如下所示:

void increment(int&);
void superincrement(int&);

void (*fooncrement)(int&);

int main() {
int j = 0;
fooncrement = increment;
while (true == true) {
fooncrement(j);
}
}

void increment(int& i) {
static int counter = 0;

i++;

if (counter > 7)
fooncrement = superincrement;
counter++;
}

void superincrement(int& i) {
i += 23;
}

通过 MSVC 的调试器快速运行表明该程序或多或少按预期工作。但是,如果我在更复杂的环境中尝试类似的操作,是否会出现此处不明显的问题?

最佳答案

这是明确定义的。

事实上,这种技术经常被用来实现状态机。

关于c++ - 从函数内部更改函数指针的目标有什么问题吗? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7002668/

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