主頁 > 後端開發 > C++ primer真心坑人

C++ primer真心坑人

2020-09-12 08:41:28 後端開發

    花了半年時間看了眾多大神推薦的人氣極高的這本書,終于悟出了此書是造成國內c++難學輿論的罪魁禍首。
    首先,此書沒有一句講程式怎么跑起來,怎么使用IDE(對新手來說 C++最重要的IDE VS2010),新手看這書可能第一步怎么運行代碼都不知道。更別說碰到程式編譯不過怎么除錯了。
這書我看了兩遍,前面的STL模板講的還行,不過太全了太細了,當工具書現用現查很不錯。但后面關于最重要的類,虛函式,多型,模板還有智能指標等等講的太虛了,通篇沒有可實踐的例子,大段大段云里霧里不著邊際沒有多大實際功用的理論,看了跟沒看一個樣,反正都是看不懂,到頭來為什么要用到這些理論的好處都沒看出來,連工具書的價值都沒了。讀者看此書看不到C++能做出什么東西,語言還寫的極其晦澀,生怕讀者看得懂似的。對于業余編程愛好者來說,此書看下去唯一的作用就是打擊你學編程的自信心,磨害你幾億個腦細胞,讓你早早打退堂鼓轉向java php。對于真心想學C++的,想通過這書學會c++,那你得有圣斗士星矢的那種百折不撓不怕受傷歷盡艱險終成正果的勇氣,不然半途而費是注定的結局。
   所以,很鄙視那些所謂的大神 推薦入門無論什么教材書籍都推薦外國人寫的大部頭書,根本不適合我國國情。比如什么 Java編程思想之類的,沒幾年別想看懂。不過等你幾年看完了作業也不要找了,黃花菜都涼了。

uj5u.com熱心網友回復:

C++上手本來就沒JAVA C#快,如果有其他語言基本再來學就會相對容易

uj5u.com熱心網友回復:

程式怎么跑起來并不是C++的內容,不同平臺可能是不同的

uj5u.com熱心網友回復:

這就是個類似于字典的東西,反正我一般不推薦讀這本書,好耿直啊

uj5u.com熱心網友回復:

C++Primer 不適合新手

適合有一定C++經驗的

uj5u.com熱心網友回復:

c++ primer 1.1.1節就講得很清楚了,編譯程式的方法取決于你的作業系統與編譯器,還說了教如何編譯已經超過了本書的范疇。
還推薦用簡單的命令列工具,而非龐大的IDE

uj5u.com熱心網友回復:

老實說,還沒看過

uj5u.com熱心網友回復:

參考 5 樓 ipqtjmqj 的回復:
c++ primer 1.1.1節就講得很清楚了,編譯程式的方法取決于你的作業系統與編譯器,還說了教如何編譯已經超過了本書的范疇。
還推薦用簡單的命令列工具,而非龐大的IDE

IDE的問題好解決,語言晦澀通篇理論可操作例子少可就是大問題了

uj5u.com熱心網友回復:

http://shouce.jb51.net/c++/, 再點1.1節,然后往下移到1.1.1節
1.1.1. 編譯與執行程式

Having written the program, we need to compile it. How you compile a program depends on your operating system and compiler. For details on how your particular compiler works, you'll need to check the reference manual or ask a knowledgeable colleague.

程式撰寫完后需要進行編譯。如何進行編譯,與具體作業系統和編譯器有關。你需要查看有關參考手冊或者詢問有經驗的同事,以了解所用的編譯器的作業細節。

Many PC-based compilers are run from an integrated development environment (IDE) that bundles the compiler with associated build and analysis tools. These environments can be a great asset in developing complex programs but require a fair bit of time to learn how to use effectively. Most of these environments include a point-and-click interface that allows the programmer to write a program and use various menus to compile and execute the program. Learning how to use such environments is well beyond the scope of this book.

許多基于 PC 的編譯器都在集成開發環境(IDE)中運行,IDE 將編譯器與相關的構建和分析工具系結在一起。這些環境在開發復雜程式時非常有用,但掌握起來需要花費一點時間。通常這些環境包含點擊式界面,程式員在此界面下可以撰寫程式,并使用各種選單來編譯與執行程式本書不介紹怎樣使用這些環境。

Most compilers, including those that come with an IDE, provide a command-line interface. Unless you are already familiar with using your compiler's IDE, it can be easier to start by using the simpler, command-line interface. Using the command-line interface lets you avoid the overhead of learning the IDE before learning the language.

大多數編譯器,包括那些來自 IDE 的,都提供了命令列界面。除非你已經很熟悉你的 IDE,否則從使用簡單的命令列界面開始可能更容易些。這樣可以避免在學習語言之前得先去學習 IDE。
-------------------------------------------------
我就是看c++ primer學的c++,感覺寫的很好,我在windows上用mingw,編譯命令只會gcc 檔案名,有錯會說在哪一行,沒錯會生成一個a.exe, windows命令列直接再敲個a就可以運行a.exe
windows命令列可以通過按win+R,再敲cmd回車,或者在附件》命令提示符調出。
 mingw我網上找到,里面有個install.exe雙擊運行就裝好了

uj5u.com熱心網友回復:

參考 7 樓 qiou2719 的回復:
Quote: 參考 5 樓 ipqtjmqj 的回復:

c++ primer 1.1.1節就講得很清楚了,編譯程式的方法取決于你的作業系統與編譯器,還說了教如何編譯已經超過了本書的范疇。
還推薦用簡單的命令列工具,而非龐大的IDE

IDE的問題好解決,語言晦澀通篇理論可操作例子少可就是大問題了




 這些都是知識點

uj5u.com熱心網友回復:

參考 7 樓 qiou2719 的回復:
Quote: 參考 5 樓 ipqtjmqj 的回復:

c++ primer 1.1.1節就講得很清楚了,編譯程式的方法取決于你的作業系統與編譯器,還說了教如何編譯已經超過了本書的范疇。
還推薦用簡單的命令列工具,而非龐大的IDE

IDE的問題好解決,語言晦澀通篇理論可操作例子少可就是大問題了

不是有習題嗎,我學的時候每題都做了,這樣就懂了,習題答案網上可以搜到,不過最好還是先是自己做

uj5u.com熱心網友回復:

后面模版虛函式什么的就沒去看了,反正也看不懂
看的懂的都是亮點,我是從這本書 看懂了迭代器,然后理解 C的指標了

uj5u.com熱心網友回復:

參考 11 樓 hongwenjun 的回復:
后面模版虛函式什么的就沒去看了,反正也看不懂
看的懂的都是亮點,我是從這本書 看懂了迭代器,然后理解 C的指標了

我從這本書主要學到了STL, 感覺用起來倍兒爽

uj5u.com熱心網友回復:

參考 12 樓 ipqtjmqj 的回復:
Quote: 參考 11 樓 hongwenjun 的回復:

后面模版虛函式什么的就沒去看了,反正也看不懂
看的懂的都是亮點,我是從這本書 看懂了迭代器,然后理解 C的指標了

我從這本書主要學到了STL, 感覺用起來倍兒爽


從這本書學會了怎么簡潔使用 STL   

使用 幾個容器 和演算法,迭代器  區間什么的,  會用 string 類,但是沒有自己去寫過一個類。


stringstream & load_sstream(stringstream &oss, fstream &infile) // 加載檔案到sstream  
{  
    oss << infile.rdbuf();  
    return oss;  
}  
  
vector<string> & sortVecData(vector<string> &vecData) // 排序和洗掉重復 數字序列  
{  
    sort(vecData.begin(), vecData.end());  //資料排序  
    vector<string>::iterator end_unique = unique(vecData.begin(), vecData.end());  // 移動重復到最后  
    vecData.erase(end_unique, vecData.end());  //洗掉重復  
    return vecData;  


string IN_TEXT = "AEIOU, or A.E.I.O.U., was a symbolic "  
                     "device utilised by the Habsburg emperors. ";  
    istringstream instr(IN_TEXT);   // instr 代替 cin 人工輸入測驗字符  
    char ch;  
    map<char, int> letterCount;  
    while (instr.get(ch)) {   // 改成 cin.get() 就是人工輸入  
        if (isalpha(ch)) {  
            if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')  
                ++letterCount[ch];  
            if (ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U')  
                ++letterCount[ch];  
        }  
        if (isspace(ch)) {  
            ++letterCount[ch];  
        }  
    }  

//  這些代碼書上學來的,感覺挺有意思,最主要的是區間的概念,對方便使用C庫的指標真的很有幫助
 






uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

參考 11 樓 hongwenjun 的回復:
后面模版虛函式什么的就沒去看了,反正也看不懂
看的懂的都是亮點,我是從這本書 看懂了迭代器,然后理解 C的指標了

還有getline讀一行,然后用istringstream一個個決議

uj5u.com熱心網友回復:

這個書 的確有點坑人     比 C++ primer plus 還小,價格還貴一下

我貪便宜先買 C++ primer plus  這本基礎點,  后來重新買  C++ primer 的

uj5u.com熱心網友回復:

正在看這本書,感覺這本書出的挺不錯的啊!

uj5u.com熱心網友回復:

《C++編程思想》

uj5u.com熱心網友回復:

個人覺得C++ Primer不如一本清華的C++教材(好入門)+ 一本單獨的STL入門書(更全面)
主要是C++ Primer書里的代碼都是只有講語法的寥寥幾行,沒有完整的程式,像一本字典,而初學者是需要示例程式來模仿學習的,好比不可能用新華字典來代替小學課本。

C++教材國外的比較好的有C++ Primer Plus、C++大學教程、C++大學自學教程,
國內的清華的鄭莉版的、錢能版的也不錯。
如果想快速入門,買本200多頁的書可以達到,然后還需要一本詳細全面的。
前面3本都是7、8百頁,清華兩本都是500多頁。 

uj5u.com熱心網友回復:

推薦《30天精通c++》

uj5u.com熱心網友回復:

“對新手來說 C++最重要的IDE VS2010”
看到這一句,我就知道樓主的問題所在了

uj5u.com熱心網友回復:

參考 21 樓 fxbszj 的回復:
“對新手來說 C++最重要的IDE VS2010”
看到這一句,我就知道樓主的問題所在了

你是大神你可以用記事本寫exe,所以你可以裝逼,但拜托絕大多數人沒有你的本事,我們只想最快的看到程式運行效果,所以我們不是一個世界的人。

uj5u.com熱心網友回復:

參考 19 樓 u010165006 的回復:
個人覺得C++ Primer不如一本清華的C++教材(好入門)+ 一本單獨的STL入門書(更全面)
主要是C++ Primer書里的代碼都是只有講語法的寥寥幾行,沒有完整的程式,像一本字典,而初學者是需要示例程式來模仿學習的,好比不可能用新華字典來代替小學課本。

C++教材國外的比較好的有C++ Primer Plus、C++大學教程、C++大學自學教程,
國內的清華的鄭莉版的、錢能版的也不錯。
如果想快速入門,買本200多頁的書可以達到,然后還需要一本詳細全面的。
前面3本都是7、8百頁,清華兩本都是500多頁。 

我早點知道就好了,大學畢業時沒人指點就知道網上一幫人叫 c++ primer書好,哪知道還有primer plus

uj5u.com熱心網友回復:

primer 確實不適合初學者,有一本叫 primer plus 的比 primer 簡單一些。
至于語言晦澀難懂,可能是翻譯不好造成的。我讀國內翻譯的書,經常遇到死活看不懂的情況,甚至感覺說的巨無厘頭,前后沒有邏輯,然后找到原版的對應看一下就明白了。不光是講語言的,演算法導論這類書也存在類似問題。所以搞 IT 英語得好,否則不知道走多少冤枉路。
如果樓主想用但還處在 IDE 都不會用的階段,也許應該先找專門講 ide 的書把這些基礎障礙掃平。正經講 c++ 語言的,基本沒有使用 ide 的。
c++ 語言復雜,比其他語言更難,歷史沉疴也比較多,糙快猛的方法基本行不通。樓主要是不愿意或沒條件花很長時間專心學習,可能其他容易些的語言對樓主更合適。不過有弊就有利,一旦 c++ 學好了,再學其他的就容易多了。

uj5u.com熱心網友回復:

寫書的一般不擼碼,擼碼的一般不寫書。

uj5u.com熱心網友回復:

參考 25 樓 zhao4zhong1 的回復:
寫書的一般不擼碼,擼碼的一般不寫書。

是否可以類比出:回帖的一般不擼碼,擼碼的一般不回帖

uj5u.com熱心網友回復:

參考 26 樓 ipqtjmqj 的回復:
Quote: 參考 25 樓 zhao4zhong1 的回復:

寫書的一般不擼碼,擼碼的一般不寫書。

是否可以類比出:回帖的一般不擼碼,擼碼的一般不回帖

可以。

uj5u.com熱心網友回復:

lz說的不是沒有道理,不過國內的書隨便找一個就能達成你的目的了......而c++ primer只有這一本,這本書的意義你以后會懂的。另外就是就算用上vs,c++在ui開發方面還是比較弱,還是沒辦法和java比......我覺得要速成的話,java是一個更好的選擇。

uj5u.com熱心網友回復:

參考 28 樓 bravery36 的回復:
lz說的不是沒有道理,不過國內的書隨便找一個就能達成你的目的了......而c++ primer只有這一本,這本書的意義你以后會懂的。另外就是就算用上vs,c++在ui開發方面還是比較弱,還是沒辦法和java比......我覺得要速成的話,java是一個更好的選擇。


Java的UI主要是網頁吧?

uj5u.com熱心網友回復:

想讀難點的c++書,建議《深度探索c++物件模型》

uj5u.com熱心網友回復:

c++ primer老版本好些

uj5u.com熱心網友回復:

C++本身確實復雜。
要不linus咋會說它是一個horrible的語言呢

uj5u.com熱心網友回復:

沒辦法,C++就是很多人用來裝b的語言。
新手看C++ Primer沒什么好處,你有見過拿著新華字典學漢語的嗎?

個人覺得,隨意一本C++,配《高質量C/C++編程指南》會更好些。
C++ Primer就大概瀏覽下,知道有這么樣的東西,做專案的時候再翻書會好一些。

喜歡嵌入式就學Linux吧
喜歡搞windows開發,貌似只有音頻和影像處理有些市場了。
要想快速開發東西,c++ builder用起來挺爽的。

高手都在忙著做專案,哪有時間給你推薦什么的。。。。
想多了,大多是碰個頭破血流,才知道被忽悠了。

uj5u.com熱心網友回復:

參考 25 樓 zhao4zhong1 的回復:
寫書的一般不擼碼,擼碼的一般不寫書。


樓主,仔細體會下吧,是這個道理的;不要覺得委屈了,我當年也是被坑的不要不要的!

uj5u.com熱心網友回復:

做個可能不太恰當的比喻:
人想讓狗幫忙逮只兔子,可是人說話狗聽不懂,于是人發明了一種介乎人言和狗語之間的語言,即口令。
人想讓電腦幫忙做計算,可是人話電腦聽不懂,于是人發明了一種介乎人言和匯編機器碼之間的語言,即C語言。
人對狗的口令得讓人容易學、也得讓狗容易懂。
C語言同樣得讓人容易學、也得讓電腦容易懂。
相比之下C++、Java就是人學得費勁、電腦也經常鬧不懂。

uj5u.com熱心網友回復:

我的primer用來墊東西了~~~

uj5u.com熱心網友回復:

誰跟你說c++ primer是入門用的?c++ primer相當于新華字典的作用,你有見過小學生單看新華字典來學習語文的嗎?

uj5u.com熱心網友回復:

簡單就是好東西嗎? 你只是在不欠當時間讀了本好書,那這本書就是坑!

uj5u.com熱心網友回復:

關于IDE的事前面幾樓已經說了。

參考
通篇沒有可實踐的例子

我看到的怎么通篇都是例子,別的不說,http://www.informit.com/store/c-plus-plus-primer-9780321714114上的代碼就有近500K。大概我和樓主看的不是一本書。

參考
大段大段云里霧里不著邊際沒有多大實際功用的理論

請舉例。

uj5u.com熱心網友回復:

不是吧。
我就是看的這本書。
這本書不是語言的第一本書。但對于有其他語言經驗的來說。必須是第一本。
全書的例子和習題。居然說沒有例子。
學其他書才是坑人吧。會描幾個程式,基礎不抓實,有什么用?
那么多大神推薦,為什么,因為大神就是從這個基礎出來的。

uj5u.com熱心網友回復:

還有你說。對新手來說 C++最重要的IDE VS2010)
你不要誤導新人了好不。新手來說,不是控制臺 是最重要的?手工編譯不是最重要的?
幾個檔案的編譯,用g++命令。不是5分鐘。就學會的事情?為什么要ide?

uj5u.com熱心網友回復:

參考 25 樓 zhao4zhong1 的回復:
寫書的一般不擼碼,擼碼的一般不寫書。

我也是醉了。有這么坑人的嗎?
斑竹說這樣的話?
effect c++。作者。c++ primer 作者,哪個不是寫了n多代碼的人?
你以為是國內的理論書教授?

uj5u.com熱心網友回復:

參考 42 樓 lsfv001 的回復:
Quote: 參考 25 樓 zhao4zhong1 的回復:

寫書的一般不擼碼,擼碼的一般不寫書。

我也是醉了。有這么坑人的嗎?
斑竹說這樣的話?
effect c++。作者。c++ primer 作者,哪個不是寫了n多代碼的人?
你以為是國內的理論書教授?

zhao4zhong1 并不是版主

uj5u.com熱心網友回復:

哦,看經常回貼,以為版主,樓主的話,不得不吐槽下,用文本寫代碼,不用學吧,用命令列編譯,幾分鐘就學會了吧,半小時能學會的東西,有資格成為裝逼?

uj5u.com熱心網友回復:

寫書的人寫的代碼一般比純看書學習的人多,而可能比靠寫代碼為生的工程師少。

uj5u.com熱心網友回復:

只會用IDE不會用命令列編譯鏈接的人的編程水平
不一定比
只會用命令列不會用IDE編譯鏈接的人的編程水平
低。

uj5u.com熱心網友回復:

都說一些,可能不可能的話。說了等于白說。

uj5u.com熱心網友回復:

參考 46 樓 zhao4zhong1 的回復:
只會用IDE不會用命令列編譯鏈接的人的編程水平
不一定比
只會用命令列不會用IDE編譯鏈接的人的編程水平
低。

2個本來就是不搭架的東西。有什么可比性。
你拿錐子,你拿扳手,跟你技術有什么相干?
樓主說用命令列是牛逼的表現。這不是搞笑不。
你又用一堆,可能不可能。說的跟沒說一樣。

uj5u.com熱心網友回復:

看過書。你就評,沒看過,就不要發一些無所謂的話。
剛來幾天。到處是你的回帖。沒幾個是針對性的。都是貼一些蹭分貼。

uj5u.com熱心網友回復:

C入門是靠得譚浩強,C++的時候我就不吐槽我老師自己寫的那本書的...約等于沒有書,后來買了本primer看看。
再后來幾年沒看書,入行之后發現很多人推薦自己寫的blablabla,包括之前大熱的什么某“品誤C”,某“C++入門到放棄”。
心血來潮翻了一下..........
感覺品悟就是沒事找事。
入門到放棄那是給非計算機專業看得玩具書。

uj5u.com熱心網友回復:

只有在坑里度過生死劫的人才能客觀地評論坑。

uj5u.com熱心網友回復:

最近在讀,有點疑惑,所有搜了下這么書怎么樣,就看到本題目了。
有C基礎,c++基礎,java基礎,現在讀第四版讀到125頁(PDF)了。
感覺
1.有亮點,連class和struct的區別都講了。。尷尬。。
2.說實話讀的我云里霧里,不過打算繼續讀下去,STL和vector自己比較弱,打算強化一下。
3.這本書現成的完整的例子好少,不合適做入門書。甚至頭檔案和源檔案分開出現和講解了。。。。
不是自己推薦的書。

uj5u.com熱心網友回復:

C++ Primer 4 適合自學。不能否認第五版的水平之高,但是第五版介紹了很多C++11的東西,反而影響閱讀。知識體系比較散亂,不利于形成清晰的脈絡。我作為一個老鳥都看的有些暈。但是第四版非常好。我就是看這個自學的。類似于易筋經,徹底把大學里學的那些不成熟的套路給洗成正統了。 千萬別看某某國產老師寫的,那頂多算是培訓資料。

uj5u.com熱心網友回復:

參考 7 樓 qiou2719 的回復:
Quote: 參考 5 樓 ipqtjmqj 的回復:

c++ primer 1.1.1節就講得很清楚了,編譯程式的方法取決于你的作業系統與編譯器,還說了教如何編譯已經超過了本書的范疇。
還推薦用簡單的命令列工具,而非龐大的IDE

IDE的問題好解決,語言晦澀通篇理論可操作例子少可就是大問題了

樓主的這些疑惑,我十幾年前就有過了,哈哈。那時候我們連網都沒有。看本書,書上講著講著,出來個“用類向導”干什么干什么。我當時就找,怎么也找不著那個破玩意兒。當時我都想砸電腦。后來還是問老師問到的。后來發現有個ctrl+w快捷鍵(這個我一直記到現在……)
我研究生論文,想寫大規劃C++專案,怎么配置,IDE里怎么配置什么的。老師不讓寫,說這不是論文……好不容易想寫點有用的東西,還不讓寫

uj5u.com熱心網友回復:

說明書不是論文。

uj5u.com熱心網友回復:

先學過C再來看這本就挺不錯的。
如果是零基礎看這個那不是找虐么。。連IDE都搞不清楚的新手那也沒什么好說的了

C++本來就是個復雜度極高的語言,說它垃圾或者牛逼都是因為這個原因。
再加上現在標準一堆,不同平臺不同編譯器的不同版本支持還各不相同,所以本身我覺得拿C++作為編程入門語言就是一個錯誤。

uj5u.com熱心網友回復:

這本書說的是C++ 而不是VC 

uj5u.com熱心網友回復:

1.首先,C++ primer是一本好書,c++進階階段必讀
2.這本書不是為新手準備的

uj5u.com熱心網友回復:

嗯,明白了以前為何《二十一天精通某某》之類書籍大賣的原因。
禪宗講究不立文字,任何物體用語言描述就已經偏離了那個物體。
c++ primer之類說他字典也可以,我更覺的應該比喻成向導。
俗話說師父領進門,修行在個人,現在互聯網那么發達,當你在書上有疑惑的時候,完全可以通過互聯網找到答案。
還有一句話就是盡信書,不如無書。

uj5u.com熱心網友回復:

禪宗講究不立文字,任何物體用語言描述就已經偏離了那個物體。
說是一物即不中。參考“盲人摸太陽”。

uj5u.com熱心網友回復:

primer是提升用的,我實習的時候,前一個月跟著網上查的跟我推薦primer,然后我大牛看見我在看,說我最起碼作業一兩年才能看這本書,當時其實根本看不懂。現在作業快兩年了,拿起來又看了,提升了很多東西,講的很細,但是卻是很有缺點,因為舉例方面連接太長,第1頁的代碼,第99頁還在說,讀者可能壓根不記得了!primer做提升是很有價值的

uj5u.com熱心網友回復:

呵呵,似乎樓主的要求“21天精通某某”都不一定達的到。
我似乎只記得某些餐飲網站教家庭煮婦或者煮夫如何做某樣菜的教程。
還有從我兒子的變形金剛說明書,才能符合樓主的要求

uj5u.com熱心網友回復:

c++ primer此書其實寫的很好。

uj5u.com熱心網友回復:

在看,感覺寫的還是很好的。。有想看的同仁建議不要看的太細,看的時候戰線不要拉的太長,書中前后對照很多,細節很多,關注自己關心的點吧。

uj5u.com熱心網友回復:

這個帖子讓我想起了某些:21天學會XXXX,XXX入門  等書籍厚厚的一大本.前面幾章用大篇幅和截圖占滿,告訴你如何在windows上安裝某一款編輯器,等出來作業了,時候想想,他媽的那些書寫的都是啥玩意啊!

uj5u.com熱心網友回復:

要學會編譯器的使用,還得去看該編譯器的相關檔案.
關鍵是要學會使用網路,別死腦健的限制了自己的思維.比如我所痛恨的百度經驗(明明2句話可以說清楚的,非要幾個破圖),有時候確實能解決你的問題:
https://jingyan.baidu.com/article/fb48e8be4758196e622e14b5.html

uj5u.com熱心網友回復:

參考 65 樓 baijiaheizhiganmao 的回復:
這個帖子讓我想起了某些:21天學會XXXX,XXX入門  等書籍厚厚的一大本.前面幾章用大篇幅和截圖占滿,告訴你如何在windows上安裝某一款編輯器,等出來作業了,時候想想,他媽的那些書寫的都是啥玩意啊!

人家這叫因材施教好嗎?

uj5u.com熱心網友回復:

不建議一上來就學C++,也不建議一上來就看primer。任何學習都應該由易到難,無論你對自己的學習能力有多自信。先學一門簡單的語言,如python

uj5u.com熱心網友回復:

參考 16 樓 hongwenjun 的回復:
這個書 的確有點坑人     比 C++ primer plus 還小,價格還貴一下

我貪便宜先買 C++ primer plus  這本基礎點,  后來重新買  C++ primer 的


比 C++ primer plus 還小,價格就非得便宜??

uj5u.com熱心網友回復:

primer看了有10來遍吧,事無巨細倒是它一個缺點, 但是優點自然也不必要說,對初學者不適合,但是入門比C++程式設計語言強一些。C++程式設計語言也是非常優秀的,這2本可以說是C++最經典也是最值得看的書,再提高就是C++物件模型

uj5u.com熱心網友回復:

我只想說,改學其他的吧

uj5u.com熱心網友回復:

好書不厭百回讀。還在學習中

uj5u.com熱心網友回復:

跟墳
C++的許多設計實際上是對C語言的簡化(對于初學者來說是復雜化)
所以如果有函式式編程和地址運算的經驗,學習C++會很容易
但是如果想以java的方式,去理解C++無疑是很麻煩的
我個人推薦《The C Programming Language》作為C++的入門
然后再去考慮C++的類,參考,多載,模板,迭代器,lambda等等語法糖

uj5u.com熱心網友回復:

 這本書我買回來就沒完整看過一遍.........

uj5u.com熱心網友回復:

新手學什么c++,新手學C去

uj5u.com熱心網友回復:

C++ Primer 本來就不是新手入門書籍,我在很多推薦書單里面也沒有見到把它作為新手入門的,它面對的是有一定C++ 基礎的人。新手入門應該是 C++ Primer Plus

uj5u.com熱心網友回復:

前言明確指出:雖然書名叫primer,但并不代表這是一本入門書。 本書假定讀者有一定的編程基礎,那么多人推薦不是沒有原因的,只是不是針對IDE都要講的人群。當你有一定基礎之后再來看就會明白

uj5u.com熱心網友回復:

IDE的使用一句話就完事了啊

Vistual studio C++ 新建控制臺程式專案 來寫例子

uj5u.com熱心網友回復:

1.首先,C++ Primer這本書,不同的版本差別非常之大。比如第三版和第四版,連出版社都不同。據說第五版連作者都換了,所以不能一概而論;

2.其次,C++ Primer這本書,不會手把手一步一步教你怎么搞--所以這也是很多人覺得不適合初學者的原因,但它論述的東西,確實是基礎,并且比較全面;

3.最后,按照一般的做法,IDE的使用要看XXX指南或者IDE的幫助,而不是這種語言類的書,兩者的目標是不一樣的。

uj5u.com熱心網友回復:

非科班的?這是一本給資深初學者看的書

uj5u.com熱心網友回復:

Primer的意思是啟蒙讀物。
但是《C++ Primer》卻不是給新手準備的。
建議新手看清華大學鄭莉出的那個書

uj5u.com熱心網友回復:

C++用大學教材就成了。關鍵還是動手。另外,OO思想主要是給做可重用類別庫、做游戲的人用的。
很多場合,比如工控,學好了C就夠用了,基本上轉到C++后,還是用別人的類別庫,比如Qt、STL、Boost。感覺面向程序很多時候還是夠用的。

理解了C++編譯器的本質,或許有利于學習。機器語言里是木有物件的,所有的OO都是邏輯上的、編譯器強制折騰出來的。類從資料結構上等效于C結構體+函式指標表,理解了這個,基本就學好了一半了。

至于泛型,其實是另一種語言。可以理解為解釋性的語言,只不過解釋的時機是在編譯時解釋,而不是運行時。泛型語言用的也很少,別被篇幅嚇壞了。泛型也是給可重用的類別庫設計者準備的。使用泛型類的用戶,只需要有邏輯概念即可,比如list里面裝的是double,就用list<double>就行了。

如果想用C++寫普通的軟體,學大學教材+Qt就足夠了。如果想用C++寫給別人用的類別庫,就復雜多了,要學很多復雜的知識。
現在Visual Studio 2017都免費了,沒必要折騰命令列了。

uj5u.com熱心網友回復:

C++primer導讀上都說了,你不需要具備C的知識,但我們假設你已經知道的足夠多的知識關于寫和編譯運行一個現代程式,我們也假設你用過變數,寫過和呼叫過函式,并且使用過編譯器了。

連導讀都不讀就一頭扎進去,里面需要注意的知識都不先看看就一頭扎進去,還抱怨書不行。

uj5u.com熱心網友回復:

有些陳述句講得確實有的繞口,可能是語言之間的差異所致,有些很簡單一句話可以說明的,確要繞來繞去,沒有基礎的人讀起來真不好理解。

uj5u.com熱心網友回復:

詳細分析一下吧
1、C++是一門邏輯性比較強的,比較完善的語言,其他語言的語法原理和邏輯原理與C++是類似的,所以,如果你真正學懂了C++,那么,其他語言,只需記記關鍵字和語法格式就可以了,所以C++是比較難學的。
2、C++ PRIMER這本書寫得比較深入,對某些概念并沒有做太多的介紹,所以看起來會覺得很有難度,這本書為什么會被認為寫得好,第一是因為寫得有深度,第二是內容寫得多,比較完全。關于C++ PRIMER這本書,要一句話一句話理解,而且要自已寫代碼去驗證書中的語法原理(也就是說書中缺少必要的示例代碼),總之,如果書中的每句話,都完全理解了的話,你就會發現,這種書是本好書,不過,確實比較悔澀難懂
3、關于C++ PRIMER這本書的閱讀方法
學C++的話,C++PRIMER這本書雖然比較厚,內容比較完全,但也不并是非常的完全,比如,模板的內容,就需要結合其他書閱讀,比如需結合C++ templates這本書,對這本書最好是看侯杰翻譯的那本,雖然翻譯得很是悔澀難懂(比C++PRIMER還難懂),但翻譯得很準確。并且C++PRIMER這本書,不能只看第5版最新版,還需要閱讀第3版和第4版,因為在第3版介紹了的內容,第4版幾乎是不會提及的,同理,在第3和第4版介紹了的內容,第5版里面也不會再詳細講了,因此,僅看最新版,看起來很難懂,總之,使用C++ PRIMER一本書來學習C++是不太容易學懂的,更別說學會了,這增加了學習成本和負擔
4、推薦學習C++的方法
在這里推薦一本《C++語法詳解》一書,該書對C++的語法實作原理作了比較詳細和深入的介紹,而且內容非常全面,由淺入深,把復雜的問題,以最簡單的方式向讀者講解和展示,對于讀者自學完全沒問題,但是該書僅介紹了語法原理,若讀者需要急于知道C++能做出什么東西來,可以再參閱其他有關C++實體方面的書籍或者需要找些C++方面的習題去練習,但學完這本書之后,對后續內容的學習完全不會再有阻礙,比如,要想編出圖形界面,可參閱Qt方面的書籍(或MFC,但MFC比較落后了),要編游戲,可參閱C++游戲方面的書籍
5、關于IDE怎樣使用的問題
在WINODWS下使用VC++是很簡單的,建一個專案,然后輸入代碼,按下快捷鍵F5就可以了,要讓程式暫停,需在需要暫停的地方輸入system("pause")就可以了。對于VC++,幾乎只需輸入代碼后,再按下F5就可以了,不需要很復雜的操作。若程式有錯誤,在錯誤視窗會提示你的代碼哪里錯了,VC++的錯誤提示還是很容易理解的。

uj5u.com熱心網友回復:

如果要實用,直接上手就能編個東西的話,建議直接學易語言,我想這是IDE一體的語言,沒有樓主的煩惱。
要真心學C(++),最好不要直接上UI,先學命令列編程,才能心無旁鶩
這本書本身沒問題,問題是自己想要的是什么

uj5u.com熱心網友回復:

說得我都不敢看了。題主能推薦一本別的書么?初學者

uj5u.com熱心網友回復:

C/C++的復雜性,一個是功能多,二是要求程式的完整性。麻雀雖小五臟俱全,就是展現 “Hello, World!”, 加上編譯,對初學者也不是一個簡單的事。但是很多問題不是C/C++本身的問題:

1)功能多,表達能力強大,程式員可以天馬行空,創意無限,造成的主要問題是看 別人的程式不容易,但是這不是語言本身的問題!

2)要求程式的完整性,導致入門門檻高,但是學習程式語言入門不是目的。有些程式語言把降低入門門檻、濫殺功能,以所謂一切為了簡單作為賣點,誤導、坑害很多人(很多潛在武功被人廢了!),問題更嚴重的是受害者還沾沾自喜、沒感覺受害,就像“被人賣了還幫人數錢“。當然問題出在“沒有比較就沒有傷害”上,不少人沒有機會比較。


學習程式語言C/C++時,理論學習與實踐互動才會比較有效果。因此例子很重要,教初學者如何簡單地編譯一個簡單的程式 非常重要!要“小而全”,而不是 “大而全”。

uj5u.com熱心網友回復:

適合有C經驗的人

uj5u.com熱心網友回復:

C++ primer 這本書對于C++的學習是比較好的,如果你嫌難,你可以試一下程式設計或者才++ primer plus (plus簡單一點,但是全書中有幾個錯誤點。)一類的書,但是不建議譚浩強的書,譚浩強的書對新手極不友好。然后,對于Java、c#、web等語言來說,c++試很難理解的,如果,學不下,建議還是不要碰了,謝謝。c++真的沒有所謂的21天精通一說!!!!!!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12601.html

標籤:非技術區

上一篇:求問大佬們,為什么我寫的友元函式Merge2在類外定義時會報錯說無法決議的外部符號,而在類內就可以正常運行

下一篇:求楊輝三角,大佬幫忙看下哪里錯了,十分感謝!!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more