首頁(yè)考試吧論壇Exam8視線(xiàn)考試商城網(wǎng)絡(luò )課程模擬考試考友錄實(shí)用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓 自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語(yǔ)
零起點(diǎn)日語(yǔ)
職稱(chēng)英語(yǔ)
口譯筆譯
申碩英語(yǔ)
零起點(diǎn)韓語(yǔ)
商務(wù)英語(yǔ)
日語(yǔ)等級
GMAT考試
公共英語(yǔ)
職稱(chēng)日語(yǔ)
新概念英語(yǔ)
專(zhuān)四專(zhuān)八
博思考試
零起點(diǎn)英語(yǔ)
托?荚
托業(yè)考試
零起點(diǎn)法語(yǔ)
雅思考試
成人英語(yǔ)三級
零起點(diǎn)德語(yǔ)
等級考試
華為認證
水平考試
Java認證
職稱(chēng)計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務(wù) 員
導游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷(xiāo) 員
價(jià)格鑒證
網(wǎng)絡(luò )編輯
駕 駛 員
報檢員
法律顧問(wèn)
管理咨詢(xún)
企業(yè)培訓
社會(huì )工作者
銀行從業(yè)
教師資格
營(yíng)養師
保險從業(yè)
普 通 話(huà)
證券從業(yè)
跟 單 員
秘書(shū)資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢(xún)
營(yíng) 銷(xiāo) 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛生資格 執業(yè)醫師 執業(yè)藥師 執業(yè)護士
會(huì )計從業(yè)資格
基金從業(yè)資格
統計從業(yè)資格
經(jīng)濟師
精算師
統計師
會(huì )計職稱(chēng)
法律顧問(wèn)
ACCA考試
注冊會(huì )計師
資產(chǎn)評估師
審計師考試
高級會(huì )計師
注冊稅務(wù)師
國際內審師
理財規劃師
美國注冊會(huì )計師
一級建造師
安全工程師
設備監理師
公路監理師
公路造價(jià)師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
造價(jià)員考試
注冊計量師
環(huán)保工程師
化工工程師
咨詢(xún)工程師
結構工程師
城市規劃師
材料員考試
監理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評價(jià)師
房地產(chǎn)經(jīng)紀人
投資項目管理師
環(huán)境影響評價(jià)師
土地登記代理人
繽紛校園 實(shí)用文檔 英語(yǔ)學(xué)習 作文大全 求職招聘 論文下載 訪(fǎng)談|游戲
軟件水平考試
軟件水平考試資訊
軟件水平考試試題
軟件水平考試專(zhuān)項輔導
軟件水平考試交流互動(dòng)
軟件水平考試交流互動(dòng)
您現在的位置: 考試吧 > 軟件水平考試 > 心得技巧 > 正文

2012《軟件設計師》備考:C++編程易范錯誤集合

為了幫助2012年參加軟件水平考試的朋友更好的備考2012年軟件水平考試,考試吧軟件水平考試頻道為大家整理“2012《軟件設計師》備考:C++編程易范錯誤集合”,供大家參考。

  C/C++語(yǔ)言中有許多對初學(xué)者(甚至是有經(jīng)驗的軟件設計師)來(lái)說(shuō)很輕易范的錯誤。通曉這樣的錯誤可使你免于陷入其中。

  忘記初始化指針

  這種錯誤只是一般“忘記初始化變量”錯誤的一個(gè)非凡形式(C/C++中變量不會(huì )自動(dòng)初始化,而B(niǎo)asic可以)。使這種錯誤更糟糕的原因是它的后果往往更加糟糕:

  void SomeFunction()

  {

  int *pnVar

  int nVal;

  nVal = *pnVar; // Bad enough.

  *pnVar = nVal; // MUCh worse.

  }

  在這個(gè)例子中,指針變量pnVar從未被賦值。因此你必須假設它含有的是雜亂的數據,從一個(gè)混亂信息指針中讀數糟糕的很,因為結果肯定是雜亂數據,向一個(gè)混亂信息指針寫(xiě)數據更糟,因為它將導致一些不知道什么地方的數據被重寫(xiě)。

  假如被重寫(xiě)的區域無(wú)用,這到?jīng)]什么危害。假如被重寫(xiě)的區域有用,數據就會(huì )丟失。這種類(lèi)型的錯誤那么難找,是因為直到程序企圖使用已丟失的數據時(shí)問(wèn)題才會(huì )呈現出來(lái)。這種問(wèn)題可能是在數據丟失后好久才發(fā)生的。

  由于這一問(wèn)題手工判定很困難,Visual C++編譯器就通過(guò)一些努力來(lái)避免它的發(fā)生。例如,當你編譯上述函數時(shí)就會(huì )產(chǎn)生一個(gè)警告。在這種情況下,編譯器會(huì )告訴你變量在使用前未被賦值。在很多情況下,它不可能告訴你。

  Windows 95操作系統試圖用保護存儲器在一定程度上幫助解決難題:假如應用程序企圖從不屬于它的存儲器讀或寫(xiě),Windows通常能截獲該請求,并立即終止該程序?上,Windows 95不能截獲對應用程序擁有的存儲器的無(wú)效訪(fǎng)問(wèn),它也不能截獲所有非法訪(fǎng)問(wèn),因為必須保留某些缺口,以與Windows 3.1的兼容性名義開(kāi)放。

  忘記釋放堆內存

  請記住從堆獲得分配的任何內存都必須要釋放。假如你用完內存以后,忘記釋放它,系統內存就會(huì )變得愈來(lái)愈小,直到最后你的程序不能運行而崩潰。

  這個(gè)問(wèn)題會(huì )出現在諸如下列的一些情況中:

  Car* GetAnewCar(int nOccupants)

  {

  Car* pCar;

  if(nOccupants < 4)

  {

  pCar = new Car(2); // get a two-door.

  }

  else

  {

  pCar = new Car(4); // otherwise, a four-door.

  }

  return pCar;

  }

  void GoToTheStore(int nOccupants)

  {

  // get a car。

  Car* pCar = GetAnewCar(nOccupants);

  // Now drive to the store。

  if(pCar)

  {

  pCar->Drive(Store);

  }

  }

  在此例中,函數GoToTheStore()首先分配一輛新車(chē)來(lái)開(kāi)--這有點(diǎn)浪費,但你肯定會(huì )同意這種算法可以正常工作。只要分配了新車(chē),它就會(huì )開(kāi)到有調用pCar->Drive(Store)所指向的商店。

1 2 3 4 5 6 7 下一頁(yè)
  相關(guān)推薦:

  計算機技術(shù)與軟件專(zhuān)業(yè)技術(shù)資格(水平)考試官網(wǎng)匯總

  計算機軟件專(zhuān)業(yè)技術(shù)考試考場(chǎng)規則(筆試)

  軟件水平考試考前必讀:軟考應試錦囊

  軟件水平考試考生必看:100天突破復習計劃

文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網(wǎng)所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會(huì )及時(shí)處理。如轉載本軟件水平考試網(wǎng)內容,請注明出處。
午夜夜伦鲁鲁片免费无码_亚洲国产男人本色在线观看的a站_国产极品粉嫩馒头一线天免费_亚洲А∨天堂2021无码