[英]How to check an empty space (NULL) in double pointers
我正在嘗試使用'if'條件來檢查對象的位置是否為空。 我為此使用雙指針。 請參見下面的代碼:
void show_room :: buy_car(int clmn, int row)
{
int row = row;
int clmn = clmn;
string car_door_col;
string temp1;
float temp2;
int temp3;
int n=0, i;
this->HBM = new show_room*[3];
for(int i=0; i<3; i++)
{
this->HBM[i] = new show_room[4];
}
for(int j=0; j<row; j++)
{
if(this->HBM[clmn][row] == NULL)
{
}
}
}
在此循環中:
for(int j=0; j<row; j++)
{
if(this->HBM[clmn][row] == NULL)
{
}
}
我正在嘗試檢查[clmn] [row]是否存在對象,並且對此我使用了NULL,這是錯誤的。 我應該如何實施呢? 請在這方面幫助我。
假設您已經將HBM
的元素初始化為0,並且記得在刪除它們指向的對象后將其重置為0,則只需執行以下操作:
if(this->HBM[clmn][row]) {
// ...
}
問題在於, new show_room[4]
不會創建指向show_rooms的四個指針,而是連續創建四個show_rooms。
編寫方式僅是構造一個二維數組show_room[3][4]
(帶有動態存儲)。 調用new
意味着構造每個對象,因此不存在“缺失值”或“空白”。
當您說HBM[i][j]
,可能會發生以下兩種情況之一:
i < 3
和j < 4
,或者您獲得對有效show_room
對象的引用,或者 什么都不會發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.