我有一个关于如何为类中的静态变量动态分配内存的问题。 考虑这个例子为类中的静态变量动态分配内存
class my_class {
static int *ptr_to_int;
// Don't care
};
如何为ptr_to_int分配内存?
我有一个关于如何为类中的静态变量动态分配内存的问题。 考虑这个例子为类中的静态变量动态分配内存
class my_class {
static int *ptr_to_int;
// Don't care
};
如何为ptr_to_int分配内存?
在一个单一的实现文件:
int* my_class::ptr_to_int = new int;
但为什么?你真的需要一个指针吗?有什么问题只是
class my_class {
static int actual_int;
// Don't care
};
谢谢,没有真正的原因。我正在考虑如何初始化一个静态指针,并想不起来。它也不限于int *,如果它是巨大的结构,那么我不想在创建第一个实例之前分配内存(尽管没有意义)。我没有这个用例。 – user1855605
这里的类名仅仅作为您的目的范围名称。只需使用my_class :: ptr_to_int作为静态指针即可。
你为什么要这么做? – melpomene
这个问题与它是一个指针有什么关系吗?你可以做到这一点,如果它是一个普通的旧'int'? – chris
与为其他变量分配动态内存的方式相同:使用'new'或'new []'。这些机制为什么不能为你工作有一个具体原因吗? –