如何在c++中使用静态变量在不同的类之间共享数组
How to share a array between different classes using static variable in c++?
如何使用静态变量维护共享数组来存储数据?应该为数组中的每个类保留区域。我们应该能够从所有的类访问数组来存储和检索数据。
这听起来像你要求的是一个全局变量,正如在评论中提到的,通常是一个坏主意,因为每个类都有读和写访问相同的共享数据,这对程序的行为变得越来越难的原因(因为它就很难跟踪代码的哪些部分可能会修改或根据共享数据,或不同部分如何相互作用当访问)。
也就是说,如果你真的想这样做(它可以很好地工作在非常小/简单的程序,如果只是因为几乎任何方法都可以很好地工作在非常小/简单的程序),你可以这样做:
// in my_shared_data.h (or some other header file than anyone can #include)
struct MyGloballySharedData
{
int myArray[100];
char myString[100];
// ... and whatever the data you care to add here
};
// tell all the #include-ers that (mySharedDataObject) exists, somewhere
extern MyGloballySharedData mySharedDataObject;
和
// in my_shared_data.cpp (or some other .cpp file, it doesn't matter which one)
MyGloballySharedData mySharedDataObject;
请注意,不要将mySharedDataObject声明为静态,因为这将使它只能被位于mySharedDataObject全局存储所在的.cpp文件中的代码访问,这将使它不可全局使用。
相关文章:
- 如何在类中安全地访问 const 共享数组
- 在 MPI 中共享数组的一部分
- 在两个结构之间共享数组
- 使用IPC/共享内存将Integer数组从C++传递到Python
- 是否可以在并行区域中为共享 2D 数组创建选定元素的线程本地副本?(共享,私有,障碍:OPenMP)
- MPI_Get仅从共享内存区域读取数组的第一个元素
- 共享_ptr中多功能数组的类型是什么
- 唯一/共享 ptr 用于在数组超出范围后自动删除阵列
- 在 MPI (C++) 中共享整数数组
- C 98 Mutex中共享数组的锁定变量
- 如何在分叉之间共享数组
- 在与 OpenMP 并行的嵌套 for 循环中写入共享数组(通过指针)如何产生错误的结果
- 如何将值加载到外部共享数组中
- 两个进程之间共享数组
- 嵌入 Python 时共享数组的最简单方法
- 在c++中读取和写入共享数组
- c++在模块间共享数组元素,仅对少数字段具有const性
- 如何在c++中使用静态变量在不同的类之间共享数组
- 与 STL 向量共享数组
- 通过属性在c++和QML之间共享数组或列表