gpt4 book ai didi

c++ - 是否允许使用作为 C++ 对象的全局变量(C 样式)?

转载 作者:行者123 更新时间:2023-11-28 06:49:11 25 4
gpt4 key购买 nike

<分区>

我有一个处理外部库的对象 APIController。我想从同一函数(C 风格)的不同调用访问这个(唯一的) Controller 。

因此,我考虑制作一个全局 APIController 变量,以便在给定 context_t *context 不同的函数的不同调用中访问同一实例在每次通话中。最后,程序为每个 context 调用 close 函数。

APIController *controller = NULL;

void call(context_t *context) /* called with different contexts */
{
if (controller == NULL) controller = new APIController();
controller->instances_counter++;
/* use controller */
controller->use_it();
}

void close(context_t *context)
{
controller->instances_counter--;
if (controller->instances_counter == 0)
delete controller;
}

这样做合适吗?我觉得不是,但我没有看到另一种简单的方法。

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