我正在使用 C++ 为一块内存映射硬件开发一个驱动程序,并且我定义了一个代表这个设备的类。它看起来像这样:
class device
{
method1();
method2();
private:
device_register reg1;
device_register reg2;
}
该类有两个文件:device.cpp 和 device.h。成员变量代表设备本身的实际寄存器。现在我想在设备本身上定义更多不是实际寄存器的成员,但我不能在类中定义它们,因为如果我这样做,它们将在设备的内存映射位置定义,该位置可能包含其他设备/寄存器. 如果我将它们定义为公共的,这会破坏标准布局并且该类将不再起作用。
所以我所做的就是将它们定义为类定义之外的全局变量。问题是如果我定义了多个对象,它们都会共享这些全局变量,但我希望每个对象都有自己的,我该怎么做呢?