我正在写一个类,我不希望实例。它的所有成员都是静态的。这个类代表一个微控制器的外设。由于微控制器中只有一个外设实例没有意义,因此我无法创建该类的实例。该类仅对该外设的数据和功能进行分组。如何定义非静态类的静态成员数组的大小?
一类的数据成员的是一个数组,其尺寸之类的用户应该在编译时定义。如果我可以创建该类的对象我知道我可以在构造函数中的初始化列表初始化consts,但我真的不希望创建该类的实例。也许我可以使用模板和设置数组大小作为模板参数,但我需要使用像my_class<5>::do_something()
为每个成员的呼叫。有没有更简单的方法来解决这个问题?我想让我的课程如下所示:
class my_class
{
private:
static const int _size;
static int _array[_size];
public:
static void array_size(int size) { _size = size; }
static void do_something() { /* .... */ }
};
; “应该这样做? – wally
考虑一个单例类。它比普通的静态数据有一些优点。 –
@ n.m。,你能说更多吗? – rrd