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

2012《軟件設(shè)計(jì)師》備考:C++編程易范錯誤集合

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

 

  問題是在它安全到達(dá)目的地之后,函數(shù)不破壞Car對象。它只是簡單地退出,從而使內(nèi)存丟失。

  通常,當(dāng)對象pCar出了程序中的作用域時,程序員應(yīng)該依靠析構(gòu)函數(shù)~Car釋放內(nèi)存。但這里辦不到,因?yàn)閜Car的類型不是Car而是Car*,當(dāng)pCar出了作用域時不會調(diào)用析構(gòu)函數(shù)。

  修正的函數(shù)如下:

  void GoToTheStore(int nOccupants)

  {

  // get a car。

  Car* pCar = GetAnewCar(nOccupants);

  // Now drive to the store。

  if(pCar)

  {

  pCar->Drive(Store);

  }

  // Now delete the object,returning the memory.

  delete pCar;

  }

  使用new操作符構(gòu)造的對象都應(yīng)該用delete運(yùn)算符刪除,這一點(diǎn)必須牢記。

  返回對局部內(nèi)存的引用

  另一個常見的與內(nèi)存有關(guān)的問題是從函數(shù)返回局部內(nèi)存對象的地址。當(dāng)函數(shù)返回時,對象不再有效。下一次調(diào)用某函數(shù)時,這個內(nèi)存地址可能會被這個新函數(shù)使用。繼續(xù)使用這個內(nèi)存指針就有可能會寫入新函數(shù)的局部內(nèi)存。

  這個常見問題以這種方式出現(xiàn):

  Car* GetAnewCar(int nOccupants)

  {

  Car* pCar;

  if(nOccupants < 4)

  {

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

  }

  else

  {

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

  }

  return pCar;

  }

  請注重指針pCar怎樣被賦予由構(gòu)造函數(shù)Car()建立的未命名對象的局部地址的。到目前為止,沒有問題。然而一旦函數(shù)返回這個地址,問題就產(chǎn)生了,因?yàn)樵诜忾]的大括號處臨時對象會被析構(gòu)。

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

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

  計(jì)算機(jī)軟件專業(yè)技術(shù)考試考場規(guī)則(筆試)

  軟件水平考試考前必讀:軟考應(yīng)試錦囊

  軟件水平考試考生必看:100天突破復(fù)習(xí)計(jì)劃

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。