[英]Create a bitmap at the first block of a char array in c++
說,我在c ++中有一個char數組,有64個塊,每個塊分配了64個字節的內存:
char **disk = new char*[64];
for (int i = 0; i < 64; i++) {
disk[i] = new char[64];
}
我想在char數組的第一個塊中設置一個位圖。 位圖僅包含整數。 因此disk [0]應該是位圖。 該位圖包含以太1(被占用)和0(被釋放),以指定數組中其余的塊是否被占用或空閑。 每塊1位。
但是我不知道如何為我需要的特定大小實現位圖,因為位圖也應該是64個字節,並且包含64個塊的整數,如何實現呢?
這是項目要求,因此...我無法在數組外部定義位圖。
而不是劫持數組的一部分意味着什么,您應該制作自己的類型:
struct MyType
{
bitmap_type bitmap; // is this a uint64_t[8]? Or a std::bitset? Or... ?
char data[63][64]; // or whatever dimensions
};
MyType* data = new MyType;
這樣,所有類型的用戶都知道data->bitmap
是位圖,而data->data
是實際數據,而不必記住data[0]
是特殊的,但是x>0
data[x]
是實際數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.