為什麼很多C++書籍在講字元串的時候主要使用字元數組而不是string?
01-03
國內的C++書基本上的路子都是講C,最後講一點class,連template和STL都不一定講。所以換個書吧。
另外,char*算一個基本的東西,無論如何你總得會。所以不能看啊,燒了換C++Primer 5th 中文版
因為大部分的C++並不是特別側重於class的講解,而只是用作基礎教學,所以喜歡講解基本知識和基本結構,string的實質也是字元串數組,只是多了一些已經定義的member。另一方面class太多了,而且可以自己定義,作為教科書只能追求基本理論。當然不排除這些書互相參考的成份。
介面一般用的是char*
少年,別看string高大上,真不如char*好用
要能理解好string,從理解char char[]開始是有好處的
我最近在看經典《c++primer》,裡面很早就講到類和對象,而且明確說到盡量少用c風格字元串。
主要是C++繼承了一大堆C里有的沒的遺產。而很多C++書籍又要承擔語言入門的重任,那char*必然是要講的了。字元串本身已經是現代語言必備的內置類型了,語法糖也好原生也好,一定要有的。char*這種處理辦法有無數的坑,效率沒提升多少bug來了一堆。當然C++這種坑多的語言,老外理解起來都不容易,也有不少不靠譜的書,國內用來當教材的破書自然更不能看了。
C++入門,有且只有C++ Primer 5th。有且只有這一本。
語言本生存在共性,但是在使用時形成風格而已, 看看梁勇的書不錯。
端著這些書 過一遍習題, c的語法就基本懂了。
string不好用啊,總是出錯。再說string也是char封裝的。
教科書一般只教基礎且穩定的知識。
推薦閱讀:
※如何編程求解 100 以內的質數?
※如何設計(規劃)一款遊戲戰鬥系統的狀態機?
※易語言精通之後是不是能跟C++這些主流的編程語言一樣強大?
※Windows 平台下除了 Visual Studio,還有什麼軟體能編譯 C、C++ 文件?
※不想寫工作中的代碼,怎麼辦?