• <tt id="eiyin"></tt>

          1. <rt id="eiyin"></rt>
                課程分類
                您當前的位置:重慶凱學網 >重慶IT/職業技能學習網 >重慶C/C++學習網 >學習C++需要注意哪些

                重慶C/C++學習網

                學習C++需要注意哪些

                發布時間:2020-08-24 14:11:45 已幫助:83人

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


                相關資訊

                8彩 www.atarthome.com:麻江县| www.jatsgreenpower.com:永嘉县| www.nj-tyjx.com:彰化市| www.hg75456.com:西城区| www.halothreads.com:左权县| www.best-wpthemes.com:郓城县| www.kljlw.cn:海原县| www.sengnie.com:苍山县| www.jma360.com:札达县| www.hfrok.com:荥经县| www.teddyoung.org:迭部县| www.pqwhm.com:毕节市| www.orleanscountyinfo.com:合川市| www.mesutaydin.com:镇雄县| www.mmairan.com:北宁市| www.morze-noclegi.com:皮山县| www.mlrsyu.com:湾仔区| www.supplementstestosterone.com:弥勒县| www.qm-cz.com:林芝县| www.southerncrossnat.com:清徐县| www.kpzhw.cn:双鸭山市| www.soundandvisionmex.com:巩义市| www.02art.com:锦州市| www.bjxdby.com:吴桥县| www.employerlawblog.com:武强县| www.hlmqw.cn:蒙阴县| www.springersjourney.com:克什克腾旗| www.juntongmould.com:万全县| www.sz-jxbjb.com:广灵县| www.northgateterrace.org:汤阴县| www.cp3115.com:嘉义市| www.1288ddz.com:宣化县| www.nillinternational.com:泌阳县| www.alexandralipkova.com:聂荣县| www.asramled.com:彝良县| www.598729.com:宣武区| www.upgamez.com:石林| www.senabajur.com:景洪市| www.netcnz.com:中山市| www.jd2002.net:津市市| www.thisisbookshelf.com:长沙县| www.cw662.com:尤溪县| www.ereglielitogrencievi.com:雅安市| www.atiehnews.com:抚顺市| www.cash618.com:犍为县| www.akaeno.com:高青县| www.jinli-ml.com:河北省| www.auburnoysterbar.com:香港| www.vampiresathruz.com:渑池县| www.highrisebuilder.com:磴口县| www.tinytoonkidswear.com:吴堡县| www.catalinamotoroiu.com:罗江县| www.cedarcoverentals.com:宁陵县| www.shoplocalinverness.com:浦东新区| www.pornofilmid.net:年辖:市辖区| www.sc716.com:安溪县| www.shnanxiang.com:湘潭县| www.sujokcenter.com:思南县| www.umudumsohbet.com:汉中市| www.szhaofu.com:平乐县| www.kpt555.com:周宁县| www.chinaaluminumcircle.com:阳东县| www.axshiye.com:汝南县| www.g5862.com:台州市| www.shkef.com:南陵县| www.onceders.com:塔城市| www.new-vibrations.com:社会| www.dwbkp.cn:若尔盖县| www.hychq.com:福州市| www.dennisforhire.com:明光市| www.bwbuffaloridgeinn.com:高台县| www.poeticasvisuais.com:南丹县| www.cn-ourui.com:涿鹿县| www.template-link.com:封丘县| www.mashrou3ak.org:镇巴县| www.njkaigao.com:绥德县| www.better-pm.com:康乐县| www.boutique-tahitienne.com:泰兴市| www.ypymw.cn:左云县| www.ninenetwork.net:溧阳市| www.yjhlqlyj.com:喀喇沁旗| www.urethritis.org:微博| www.ccsql.com:兴山县| www.walterosorio.net:象山县|