1. 程式人生 > >C++初學者應該看什麼書

C++初學者應該看什麼書

首先說我也是個C++初學者,所以這只是我學習C++這一段時見來的個人見解。
我推薦初學者應該買兩本書,《C++ primer plus》和《C++ primer》,對於這兩本書的大家一般都認為,前者是c++初學者最應該買的,講解細緻,面向c++零基礎者,而對於後者。很多人都說應該是c++學過一遍想繼續提高時買的一本書,因為初學者看這本書是非常難搞懂的。我非常同意這種普遍看法,但是我想說自己的一點小看法。
我覺得這兩本書一起買,是最好的,這是因為我剛在看plus這本書的第六版的函式過載這一節時候,對於形參是否可以用const來區分講的不夠,plus書上說的是“匹配函式時,並不區分const和非const變數”,然後舉了個例子,例子卻說的是可以區分,我把主要的程式碼寫下來:
const char p1[20]="How's the weather?";
char p2[20]="How's the business?";
dribble(p1);//呼叫dribble(const char *)
dribble(p2);//呼叫dribble(char *)

前面的dribble是函式名,書上開始說的是“匹配函式時,並不區分const和非const變數”,卻舉出了這樣的例子,並且執行時能區分的,這不免讓初學者一頭霧水,我納悶了半天

我還試了能不能區分const int和int,但是編譯報錯,這究竟是怎麼回事啊,這時,我拿出了我的《C++ primer》,翻到函式過載,這書上就講到了,const分頂層和底層,過載函式的形參,如果一個是int,另一個是const int,這裡的const是頂層const,不能過載,然而“底層const”是可以區分的,我再一看,原來

const char p1[20]="How's the weather?";

這個程式碼中的const是底層const,所以!我覺得還是初學者兩本買著好哈哈,我想說的就這個
我建了個群348538085

歡迎入群~!