Re: [請益] 如何學習C/C++並能使之成為應職技能?
c++ 太可憐了, 想為 c++ 說點話, c 之所以難學, 其中有個指標的難題, c++ 可以在某
種程度上減低這樣的困難。
int getaddrinfo(const char *node, const char *service,
const struct addrinfo *hints,
struct addrinfo **res);
呼叫 getaddrinfo 之後, 還得記得要 freeaddrinfo(result), 而 res 本身又是個複雜
的 linked list 資料結構, 有興趣可以參考 man page 的用法, 雖然難不倒你, 但用起
來實在太複雜。
要是用 c++, 就可以使用 std::vector 來對付這樣的資料結構, 無需操作指標, 又保有
高效率。
vector<XXX> res
getaddrinfo(..., res);
for (int i=0 ; i < res.size() ; ++i)
{
}
不需要記得去 free 記憶體, 也不用使用那令人害怕的兩顆星操作。
而 c++ 也提供了 std::string, 光是這個和 std::vector, std::list, 就足夠降低寫
c 程式的門檻, 不用辛苦的注意 \0 到底有沒加上, 字串 size 是不是少了一, 更不用擔
心老是搞不清楚
char str[] = "abc";
char *str="abc";
static char *str="abc";
這些奇怪的差異, 我還沒提到如果 function 要傳入, 或是傳回字串時的麻煩事。
這些都減少了很多初學者操作指標的困擾, Joel 說過, 一個語言好用是因為你不用自己
管理記憶體, c++ standard library 提供了不少的幫助, 這些都比學習 c 來得容易。
我第一個自學的語言是 x86 組合語言, 遇到重重困難, 一事無成, 太高估我自己了, 若
一開始改學 c/c++, 應該略有小成。
從我改學 c++ 之後, 大多是她陪伴著我, c 也是靠著學 c++ 時, 順便接觸到的, 果然要
操作指標難度會整個提升不少。
那你說 template, oo, lambda, c++11, c++14 那些東西呢?
管他的! 你需要多學習那些才能寫出程式嗎?
雖然工作都是以 c/c++ 為主, 不過薪水沒有特別高。
※ 引述《NewSpec (新規格)》之銘言:
: 這個問題我老早就想請教各位版大了
: 並不是為了嗆前面那個問題= =""
: 雖然說有人覺得學C/C++沒必要
: 但事實上就是某幾個browser公司依舊缺C/C++工程師
: 做big data的一樣缺C/C++ infra工程師
: 前陣子有人跟我說有個能讓我現在package +50%的機會
: 一樣是要Linux network programming
: 但我他媽的就是一個不值錢的java/python/scala後端
: 事到如今我已經再也受不了了
: 能力也不是比別人弱,但一開始路就走錯了又能怎樣
: 所以想請問各位學習C/C++並能使之成為應職技能要怎樣能比較快達到?
: 我已經在物色github project想contribute了,
: 但不知道別人吃不吃這套... QQ
--
要有一流的運氣, 才能邂逅一流的美女。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.206.105
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1423544753.A.B24.html
→
02/10 14:01, , 1F
02/10 14:01, 1F
→
02/10 14:02, , 2F
02/10 14:02, 2F
推
02/10 15:28, , 3F
02/10 15:28, 3F
→
02/10 16:03, , 4F
02/10 16:03, 4F
→
02/10 16:03, , 5F
02/10 16:03, 5F
推
02/10 16:04, , 6F
02/10 16:04, 6F
→
02/10 16:05, , 7F
02/10 16:05, 7F
→
02/10 16:05, , 8F
02/10 16:05, 8F
→
02/10 16:05, , 9F
02/10 16:05, 9F
→
02/10 16:06, , 10F
02/10 16:06, 10F
→
02/10 16:06, , 11F
02/10 16:06, 11F
→
02/10 16:07, , 12F
02/10 16:07, 12F
→
02/10 16:58, , 13F
02/10 16:58, 13F
→
02/10 16:59, , 14F
02/10 16:59, 14F
→
02/10 17:01, , 15F
02/10 17:01, 15F
推
02/10 21:54, , 16F
02/10 21:54, 16F
→
02/10 21:55, , 17F
02/10 21:55, 17F
討論串 (同標題文章)