一级欧美|国产老头老太作爱视频|五月婷色色性爱图|国产亚洲精品xxx|天天爱综合

招生合作
課程分類
您當(dāng)前的位置:重慶凱學(xué)網(wǎng) >重慶凱學(xué)網(wǎng) >學(xué)習(xí)C++需要注意哪些

重慶C/C++學(xué)習(xí)網(wǎng)

學(xué)習(xí)C++需要注意哪些

發(fā)布時(shí)間:2020-08-24 14:11:45 已幫助:255人

學(xué)習(xí)C++需要注意哪些

學(xué)習(xí)C++需要注意哪些-C++培訓(xùn)機(jī)構(gòu)
學(xué)習(xí)C++需要注意哪些
  學(xué)習(xí)C++的人都知道C++學(xué)習(xí)難度比其它編程語言難,但是C++行業(yè)擁有廣闊的前景,仍然有不是學(xué)生學(xué)習(xí)C++,那么大家在學(xué)習(xí)C++時(shí)需要注意哪些,下面我們就來看看。
  一、閱讀資料
  1、多看標(biāo)準(zhǔn)庫文檔,熟練使用其中常用的接口,標(biāo)準(zhǔn)庫文檔很多時(shí)候可以滿足大部分需求。
  2、多敲代碼,多練習(xí),將書中的知識(shí)轉(zhuǎn)化為自己的代碼。
  二、程序員思維對(duì)于一個(gè)需求或者一個(gè)項(xiàng)目,應(yīng)先思考如何設(shè)計(jì)。例如:
  1、應(yīng)該提供哪些接口,比如:返回圖書信息,根據(jù)圖書id,返回圖書的全部信息。(比如:可以將圖書信息作為參數(shù)引用傳送,而函數(shù)返回bool值,提示存在或者不存在)。
  2、思考應(yīng)該封裝哪些變量及數(shù)據(jù)。
  3、思考使用什么數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)(比如:map、hashmap,如果使用這個(gè)數(shù)據(jù)結(jié)構(gòu),會(huì)給程序帶來哪些影響,使用哪個(gè)數(shù)據(jù)結(jié)構(gòu),性能較高,擴(kuò)展性較好)。
  4、越簡(jiǎn)單越好,思考如果這個(gè)需求給其他人維護(hù)或者以后自己進(jìn)行擴(kuò)展,又應(yīng)該如何設(shè)計(jì)這個(gè)項(xiàng)目使其更簡(jiǎn)單易懂又方便。
  5、思考數(shù)據(jù)長(zhǎng)度是多大,是固定長(zhǎng)度還是可擴(kuò)展長(zhǎng)度,后期會(huì)不會(huì)擴(kuò)展。比如:圖書倉庫為1000,后期會(huì)不會(huì)想修改,加到1500等等,需不需要大規(guī)模更改代碼。
  三、用戶思維
  1、用戶只需要拿到.h文件和庫,不應(yīng)該提供給用戶變量或者提供給用戶會(huì)影響程序運(yùn)行的變量及數(shù)據(jù),這些應(yīng)該封裝到.cpp文件里。
  2、對(duì)于用戶輸入導(dǎo)致數(shù)據(jù)有誤,如果是用戶習(xí)慣,比如:輸入空格,程序應(yīng)該對(duì)空格處理,返回合適值;對(duì)于其他的錯(cuò)誤,程序應(yīng)該提示并定位到錯(cuò)誤的來源,并由程序設(shè)計(jì)者思考用戶會(huì)不會(huì)允許該錯(cuò)誤,并決定程序是否繼續(xù)往下執(zhí)行。
  3、面向接口編程。
  4、思考用戶需要的接口,避免暴露不必要的變量或數(shù)據(jù)等(可以使用私有類封裝起來),將具體實(shí)現(xiàn)放在該私有類里(私有類在.cpp文件中實(shí)現(xiàn),用戶不可訪問)。
  5、可以重構(gòu)項(xiàng)目,但要把之前的項(xiàng)目的坑填完。但是過度優(yōu)化也是一種災(zāi)難,如果一個(gè)工具,面向的用戶是100個(gè)人,則不需要考慮給100000人用。
  四、交流學(xué)習(xí)遇到問題的時(shí)候,與同事或同學(xué)交流一個(gè)需求或問題的設(shè)計(jì)思路。
  1、思考與自己的思路相比有什么不同。
  2、為什么他會(huì)采用這種解法,這種解法的優(yōu)點(diǎn)是什么,(可以從可擴(kuò)展性、可維護(hù)性、可讀性等思考)。
  3、自己的思路存在什么缺點(diǎn)以及優(yōu)點(diǎn),如何結(jié)合他的方法,尋求更好的解法。
  4、不確定的就要問,要有自己的想法。
  五、項(xiàng)目經(jīng)驗(yàn)
  1、長(zhǎng)期維護(hù)一個(gè)項(xiàng)目可能會(huì)受到項(xiàng)目影響,會(huì)受到項(xiàng)目開發(fā)者思路的影響,接觸不同的項(xiàng)目視野會(huì)越來越開闊,不同的項(xiàng)目會(huì)有不同的解決方法,有各自的優(yōu)點(diǎn)與缺點(diǎn),揚(yáng)長(zhǎng)避短。
  2、一個(gè)項(xiàng)目,短期可能看不出來影響,長(zhǎng)期維護(hù),會(huì)發(fā)現(xiàn)最初設(shè)計(jì)的影響越來越大(開發(fā)、維護(hù)、擴(kuò)展等等)。
  3、接觸模板越深后,會(huì)發(fā)現(xiàn)C++因?yàn)槟0宥兂墒且粋€(gè)“新的語言”,模板千變?nèi)f化,發(fā)現(xiàn)C++越來越難學(xué)。
  4、不同平臺(tái)接口不一樣,比如安卓、ios、web等,使用方法也不一樣,需要都去了解。
  六、代碼規(guī)范
  1、參照匈牙利命名法與駝峰命名法。
  2、一般include系統(tǒng)文件放在文件的最上方。
  七、小tips
  1、如果子類不再被繼承,可將重載父類的方法設(shè)置為final,如果被繼承,則像之前一樣采用override。
  2、對(duì)于一些由成員函數(shù)調(diào)用的函數(shù),又不想把它們?cè)O(shè)置為成員函數(shù),也不滿足API函數(shù),可不在.h文件中聲明這些函數(shù),在.cpp文件中直接定義。
  3、std::vector<std::vector<std::string>>可以寫成:typedef std::vector<std::string>one_array;typedef std::vector<one_array>two_array;
  4、所有子類共有的東西放在基類中,或者把基類單獨(dú)提出來,放在一個(gè).h文件中。
  5、對(duì)于memcpy這類直接操作內(nèi)存的函數(shù),一定要注意,因?yàn)檫@類函數(shù)是要寫明讀寫多少字節(jié)的。如果某一個(gè)數(shù)組長(zhǎng)度改寫了,而memcpy函數(shù)長(zhǎng)度忘了改,那么對(duì)內(nèi)存的操作就會(huì)越界了。
  6、匿名函數(shù)可以用于提供接口,可以試試傳函數(shù),將操作交給用戶。
  以上就是關(guān)于“學(xué)習(xí)C++需要注意哪些”的內(nèi)容介紹,希望對(duì)大家學(xué)習(xí)有所幫助。想要了解更多關(guān)于學(xué)習(xí)C++的相關(guān)資訊歡迎來咨詢。


相關(guān)資訊