C++——使用變量作爲數組長度

C++中一般是不能使用變量作爲一個數組的長度的,必須使用常量。

這是因爲數組作爲C++的內置數據類型,其空間分配在棧內存中,這部分空間的大小在編譯時就要確定,不能等到運行時再分配。常量的值在編譯時就能得到,而變量的值在運行時才能確定。

但是仍然有辦法使用變量作爲數組的長度:繞過棧內存,將數組空間開闢在堆空間內

int *d = new int[n];

這樣這塊內存就是自己開闢的了,可以使用變量初始化數組的長度,內存空間會在運行時動態分配。

注意:

  • 使用完這個數組後要delete掉,防止內存泄漏。
  • 如果可能的話,使用STL容器替代內置的數組類型,能得到更好的性能和擼代碼體驗。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章