gpt4 book ai didi

C++ - 基本功能问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:23 26 4
gpt4 key购买 nike

有什么方法可以只调用一次函数吗?

假设我有一些课

struct A {

void MainRoutine(Params) {
// Want to call other routine only once
}

void OtherRoutine(Params) {
// Do something that should be done only once and
// what depends on the params
}
};

我只想在 MainRoutine 中调用一次 OtherRoutine(我假设 MainRoutine 将被调用 N 次。我无法从构造函数中调用 OtherRoutine,因为它接受 Params,这在构造对象时可能不可用。

基本上我想做类似的事情

static bool called = false;
if (!called) {
OtherRoutine(Params);
called = true;
}

但我希望有一种更“漂亮”的方式来做到这一点......(可以写成一行)

也许使用 boost::function 或我不知道的 boost 的某些部分? :)

谢谢

最佳答案

看看 Boost Thread 的 one-time initialization mechanism

关于C++ - 基本功能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3380513/

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