足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票

IT職業教育

華中地區北大青鳥校區IT集訓營

027-87807717

北大青鳥首頁 > 北大青鳥課程 > ACCP課程 > > C語言教程:C、C++程序的優化之路

C語言教程:C、C++程序的優化之路

時間:2017-04-22 17:06 來源:北大青鳥武漢宏鵬魯廣校區作者:027hpedu
導讀:在計算機語言中,程序的優化主要應該從數據結構、算法、控制流程等方面入手。各種語言各有它自身的特點,我們只能根據具體的語言來說明代碼優化的方法。當然,計算機語言太多,不可能把每一種語言都拉進來,主要就談談C,C++,JAVE,Delphi等語言相關的 代碼優

  在計算機語言中,程序的優化主要應該從數據結構、算法、控制流程等方面入手。各種語言各有它自身的特點,我們只能根據具體的語言來說明代碼優化的方法。當然,計算機語言太多,不可能把每一種語言都拉進來,主要就談談C,C++,JAVE,Delphi等語言相關的 代碼優化。而對于其它一些語言,也 可以從這些方面中找到適合自己的優化方案。

  對C++程序的優化一定是大多數程序員非常感興趣的話題,在此先說說基于C,C++的代碼優化,希望能起到拋磚引玉的作用。

  1、在 ANSI/ISO C/C++規范中明確建議:“不要使用macro和。h,應該使用程序中的常量定義和 函數替代”。Macro(宏)對程序員來說的確帶來過不少方便,但是 大量的宏定義往往又給我們帶來更多的麻煩。建議使用inline內連函數替代宏調用。內連函數又宏調用的功能,且避免了宏調用的弊端。

  2、集合,子集類型是不被標準的 C++的對象結構式非常復雜非常靈活的。在Borland的 C++ Builder中,就提供了源于Pascal的集合,這對我們追求代碼高效率的 開發者來說,是不可取的。

  3、字符串處理是Pascal的強項之一。但是C++中的string/AnsiString等是用類/數模擬的,所以性能又很大損失!建議使用C++Builder/Delphi的程序員盡量不使用AnsiString。

  4、C++中的運算符new和delete相對于C中的malloc()和 free()函數更優越。它們雖然都提供了動態和釋放分配內存的 方法,但是使用new和delete 能自動返回正確的指針類型不用進行強制指針轉換。另外還可以避免一些錯誤。

  5、過量的異常處理往往導致程序難于使用且效率低下。C++在一場處理方面存在一定的不足,C++Builder中對一場進行了一定的擴充,使程序的異常的捕獲和處理更方便。于是很多程序員在寫程序的時候明知道不會出錯的代碼也要進行異常處理,這無異于畫蛇添足。

  6、真確的使用循環。使用循環雖然簡單,但是使用不當,往往可能帶來很大的性能影響。原則是將問題分為解小的循環,不在循環內做多余的工作(如賦值,常量計算等),避免死循環。還可以考慮將循環改為非循環來提高效率。

  7、類的主要好處之一是它封裝的特征。這個特征對類對象的使用著隱藏了內部的工作。這本是非常好的事情,但不幸的是類的使用者往往不能確定類中各種方法如何影響性能,這樣就很容易調入性能的陷阱中。比如:常用的MFC,VCL他們都是提供了豐富的類庫,我們在使用的時候應該選擇效率較高的類和調用效率高的方法函數。

  8、盡量在類設計時減少虛函數的數目。函數地址在運行時進行滯后綁定,這對于面向對象的編程語言來說時相當重要的。C++不同于JAVA,smalltalk的是讓程序開發者自己決定對那個函數進行滯后綁定。C++之所以這么做,使出于對性能方面的考慮,特別是對多態性提供滯后綁定是要付出相當大的代價的。即使是只有一個虛函數得類,對他的每一個實現都需要一個虛函數表和一個指向它的指針。指向虛函數表的指針必須在世現類實例實進行初始化。另外,每當一個虛函數被調用時,必須為函數在運行時進行的查找付出代價。

相關文章

告訴我們,你現在想了解什么?

精彩專題——96%的同學看到這里都會點擊下面的專題

  • 關于我們
  • 魯廣校區北大青鳥宏鵬IT學院

    • 北大青鳥(武漢宏鵬)魯廣北校區地址:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)三樓
      電話:027-87807717
      網址:www.027hpit.com

    • 北大青鳥宏鵬IT學院:武漢市洪山區魯磨路568號
      電話:027-87808818
      網址:www.accp027.com

    • 北大青鳥(武漢宏鵬)魯廣南校區:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)五樓
      電話:027-87807736
      網址:www.whhpit.com

Copyright (c) 2006-2020 武漢宏鵬教育咨詢有限公司 版權所有 All Rights Reserved.

nba篮彩篮球彩票
足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票
沙巴体育app下载 莱加内斯vs莱万特比分 西班牙人vs巴列卡诺 纽伦堡和沙尔克04直播 新疆11选5选号技巧 普通四人麻将规则 以太坊官网苹果手机下载 好多糖果试玩 赫塔菲vs塞维利亚直播 法甲甘冈vs亚眠 巴塞罗那天气 河北20选5计划 比特币莱特币新闻 太阳神之许珀里翁在线客服 比基尼派对动图 霍芬海姆vs利物浦结果