我有困難解析這行代碼:指針和方括號
int *a=new int[N];
所以這個聲明稱爲「」一個新的整數指針,無論它指向將存儲新的指針指向大小爲(int + N)的對象。這是因爲
int[N]:=*(int+N)
這個問題是,N是類size_t的一個實例,那麼如何增加是有意義的?完整的代碼如下:
int main()
{
const std::size_t N = 100;
int* a = new int[N];
for (std::size_t n = 0; n < N; ++n)
a[n] = n;
delete[] a;
}
'a'指向'int'。這個「int」是大小爲「N」的連續範圍「int」中的第一個。而'std :: size_t'不是一個類。它必須是一個完整的類型。 – chris
哦 - 那麼右邊是一個新陣列?應該用數組還是指針來理解? –
您可以將其稱爲指向免費商店陣列的指針。指向數組的指針可能與'int(*)[N]'模糊不清。 – chris