Re: [問題] std::array class 跟普通的array哪個好?
最近多唸了點東西,回來補充心得:
某MOOC建議用std::array(C++11新增)取代傳統C array的原因有:
(該MOOC是法文,如果我解讀有錯請小力鞭)
- 傳統C array只能以reference的方式跟函式傳遞值(不管有無加&)
(就是板上所謂的"退化"?)會造成閱讀困難
- 傳統C array沒辦法直接知道array大小
- 傳統C array沒法用 = (ex: tab1 = tab2)
- 傳統C array無法當作結果被函式傳回
- 傳統C array有跟別種type不同的宣告方式(不能用({1, 2, 3}))
該MOOC結論:傳統C array沒有好處,能用vector就用vector,
如果array size不會變就用std::array
※ 引述《wtchen (沒有存在感的人)》之銘言:
: 問題(Question):
: 在coursera看到有人用std::array去宣告array
: http://www.cplusplus.com/reference/array/array/
: 可是array不是用一般方式宣告就好了嗎?
: 例如說 int foo [5] = { 16, 2, 77, 40, 12071 };
: 多include 一個array標頭再宣告成
: std::array<int,5> foo = { 16, 2, 77, 40, 12071 };
: 不是比較麻煩嗎?
: 我想問的是用std:array宣告array有啥特別的優點呢?
: 謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.41.64.229
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1431072527.A.12B.html
→
05/08 16:20, , 1F
05/08 16:20, 1F
推
05/08 18:30, , 2F
05/08 18:30, 2F
※ 編輯: wtchen (90.41.64.229), 05/08/2015 19:50:24
推
05/09 09:20, , 3F
05/09 09:20, 3F
推
05/09 19:01, , 4F
05/09 19:01, 4F
推
05/09 19:14, , 5F
05/09 19:14, 5F
推
05/09 19:17, , 6F
05/09 19:17, 6F
推
05/09 20:51, , 7F
05/09 20:51, 7F
推
05/09 20:59, , 8F
05/09 20:59, 8F
→
05/09 20:59, , 9F
05/09 20:59, 9F
→
05/09 21:00, , 10F
05/09 21:00, 10F
→
05/09 21:09, , 11F
05/09 21:09, 11F
→
05/10 23:03, , 12F
05/10 23:03, 12F
→
05/10 23:04, , 13F
05/10 23:04, 13F
→
05/10 23:04, , 14F
05/10 23:04, 14F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):