gpt4 book ai didi

c++ - 稍后调用函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:19:34 29 4
gpt4 key购买 nike

我正在解析用户输入并作为示例执行以下响应:

用户输入 1:

Array<int> a;
Populate()(a);
int v = 10;
a.append(v);

用户输入 2:

Array<bool> a;
Populate()(a);
int v = true;
a.remove(v);

用户输入 3:

Array<bool> a;
Populate()(a);
a.removeAll();

现在假设我希望在稍后阶段执行函数,以便解析创建 Array 对象,建立要为此 Array 执行的命令(removeAll 等)以及参数,但实际上并没有调用命令 - 此调用发生在稍后阶段。

是否有 std 或 boost 库可以帮助我实现这种行为?

最佳答案

在 C++11 中,您可以记住 std::function 中的操作:

std::function<void()> action;
Array<int> a;

Populate()(a);
int v = 10;
action = [&a,v] () { a.append(v); };

请注意,当您调用该操作时,它将对您提供的确切数组起作用(它通过引用捕获),因此请确保该对象仍然存在!

关于c++ - 稍后调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050684/

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