我有一個關於如何爲類中的靜態變量動態分配內存的問題。 考慮這個例子爲類中的靜態變量動態分配內存
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 []'。這些機制爲什麼不能爲你工作有一個具體原因嗎? –