Re: [問題] array, pointer V.S. vector, Iterator
這是 c traps and pitfalls 上的一個範例:
char *r, *malloc();
r = malloc (strlen(s) + strlen(t) + 1);
if (!r) {
complain();
exit (1);
}
strcpy (r, s);
strcat (r, t);
這只是要做到字串 s, t 的相連, 就要寫不少 code。
std::string 呢?
std::string s, t;
s+t 就搞定
就算會用 c-style string, 在 c++ 應該也沒有多少人
能忍住 std::string 的誘惑。
c-style string 可比想像中的還要複雜。
這樣可以說服你用 std::string 嗎?
不過我可沒說不要學習指標哦!
是 char [], char * 你可以儘量選擇用 std::string 來處理。
至於 vector, array:vector 光能隨意的長大就已經足夠吸引
c++ 程式員了。
※ 引述《o07608 (無良記者)》之銘言:
: 我是一個自學C++還不滿一個月的新手
: 最近在板友的建議之下,去博客來訂了一本《C++ Primer 4/e》中文版
: (雖然有不少板友建議直接買最新的5/e,但最後想說還是以中文優先......)
: 今天拿到後,為了寫題目需要而翻「陣列和指標」一章起來看
: 結果看了幾頁,反而更混亂了
: 因為作者對於array 和pointer 的態度幾乎是「深惡痛絕」......
: 一直不斷的強調「盡量不要用到array 和pointer」,尤其「不要用C-Style 字串」
: 並反覆建議讀者以vector 代替array、string 代替C-Style 字串、Iterator 代替pointer
: 想請問版上的大家,array 和pointer 真的有如此不堪嗎0.0?
: 如果真的如此,那我大概要再把目前所學的C++重學一遍了......
: 感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.239.51
→
02/08 09:17, , 1F
02/08 09:17, 1F
推
02/08 09:34, , 2F
02/08 09:34, 2F
→
02/08 09:34, , 3F
02/08 09:34, 3F
推
02/08 09:36, , 4F
02/08 09:36, 4F
推
02/08 09:45, , 5F
02/08 09:45, 5F
→
02/08 09:46, , 6F
02/08 09:46, 6F
推
02/08 10:46, , 7F
02/08 10:46, 7F
→
02/08 10:46, , 8F
02/08 10:46, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):