2009年6月12日 星期五

variable-length array

本來的C語言(C99之前)是不能用變數來宣告陣列長度的 例如:
int i[length];

後來C99標準中允許了這樣的宣告方式 但是C++並沒有這樣的標準
C++的動態陣列還是使用vector比較好

http://www.clarkcox.com/blog/?p=74#footnote_0_74
這裡有一篇文章寫到VLA的壞處 當stack pointer指到不正確的地方時 程式會發生什麼事沒人知道
這的確是直得思考的地方

另外 要將多維陣列傳給函式當參數時 除了第一維的維度可以不給之外 其餘都要給
例如 int func(int array[][4]); 這樣的寫法

沒有留言:

張貼留言