下面的代碼提供了一個帶有64個塊的2d char數組。爲C++中的char數組分配固定內存
char **arr= new char*[64];
for (int i = 0; i < 64; i++) {
arr[i] = new char[64];
}
但是我想有過這陣,就像我可以malloc的固定內存C.
char **arr= malloc(sizeof(char *) * 64);
for (int i = 0; i < 64; i++) {
arr[i] = malloc(64);
}
我怎樣才能實現在C++控制?
此外,在C,我們可以用指針這樣的:
Mystruct *next_entry = (Mystruct *) ((char*) slot + SIZE;
我們可以計算出指針的地址,並得到下一個可用的空閒內存。
如果我想用C++做同樣的事情,我需要做什麼?
您的第一個'malloc',無論如何都是錯誤的。因爲它應該是'sizeof(char *)',可能它是一個錯字。 –
'我如何在C++中實現它?'除非我在這裏誤讀了一些東西,否則您已經實現了它。 – Cornstalks
'sizeof(char)'並不是真的有意義,因爲它被定義爲1. –