iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0

arrary很別好理解,一維arrary就是線,二維arrary就是面,三維arrary就是立方體,四維arrary的BigO(https://chart.googleapis.com/chart?cht=tx&chl=%24n%5E4%24)所以跟迴圈一樣盡量不要超過3維,而且四維以上空間也不容易理解,這章實在沒甚麼好說的何況我手上拿的是螞蟻書5e 2004年出版標準大概使用c99(1999制定)可能很多細節跟c20(2020年制定)不同,於是我們就跳脫書本內容比較C++ array 與python的list

C++ array

  1. 長度不可改變
  2. 連續記憶體空間
  3. 只能透過創建新array並將舊array複製到新array的方式更改長度
  4. 所有元素的型別都必須相同
  5. Array不可互相比較

Python list

  1. 長度可隨意增加
  2. 每個元素的型別隨意,除了基本型別甚至可以擺tuple, set, dict, object
  3. 因為上述性彈性導致速度超慢所以Pandas的array其實是由C++實現

因為C++原始的array一開始就必須宣告大小並配置記憶體空間,一不小心超過array就造成錯誤,所以創建了一個"樣版類別(Class) vector",他是一個樣板template所以可以是任何型別,同時他是個類別(Class)所以有些方法(method)可以使用例如size(), empty(), at(), begin(), end() ,也可以輕易的對兩個vector使用運算元< > = =! 。然後螞蟻書的範例就不解說了。


上一篇
Day16-Template
下一篇
Day18
系列文
少年DevOps的C++奇怪漂流30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言