Re: [問題] 為何少有人用c++寫網頁?
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間15年前 (2011/04/20 11:12)推噓2(2推 0噓 2→)留言4則, 2人參與討論串3/7 (看更多)
※ 引述《tinlans ( )》之銘言:
: : 做的事情C++基本上也都能做 (C也可以但字串支援少,所以比較麻煩)
: C 其實還蠻方便的。
: 而且因為是 null-terminated string,可以用一些小技巧加速。
: 比方說把想把 abcdefghi 中間這段傳給某 function。
: 你可以先暫時把 'g' 存在一個 char 變數,並修改成 '\0'。
: 然後丟個指在 'c' 上的 pointer 出去,等 function return 回來再把 'g' 填回去。
: 這樣就整整少了一次 string copy 的時間。
: 一些比較高階的語言使用的 string type,取 sub-string 時大都是整段複製出來。
: 也許有些人會說這可以用 copy-on-write 的技術避免無謂的複製...
: 但實際上沒有啥 string type 是這樣實作的,理由某本書有寫,哪本我忘了。
這點我想要看高階語言對 string type 的操作介面
如果該語言的 string 是 immutable
那同樣也可以節省複製時間
通常使用 pointer+length 的方式來存 string 的話
那取 substring 時還會比 null-terminated 更簡單
lua 的 string 就是 immutable
而它的操作也的確非常快
若 string type 是 mutable
那麼用上述的方式取出 substring 被修改時會影響到原來的 string
導致 substring 一定要複製一份來避免這個情況
(所以我討厭 C++ string! 吼吼)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.15.163
→
04/20 11:31, , 1F
04/20 11:31, 1F
推
04/20 16:33, , 2F
04/20 16:33, 2F
→
04/20 16:34, , 3F
04/20 16:34, 3F
推
04/21 01:06, , 4F
04/21 01:06, 4F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章