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

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

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

  這個含義的多重性能導致一些難以發(fā)現(xiàn)的錯誤:

  // copy a string from pSource to pTarget -- incorrect version.

  while(pSource)

  {

  *pTarget++ = *pSource++;

  }

  此例中的while循環(huán)試圖把由pSource指向的源字符串復制到由pTarget指向的內(nèi)存塊。但不幸的是,條件寫錯了,它應這樣寫出:

  // copy a string from pSource to pTarget -- incorrect version.

  while(*pSource)

  {

  *pTarget++ = *pSource++;

  }

  你可以看到,當由pSource指向的字符為NULL時,終止條件出現(xiàn)。這是0的第四定義。然而,這里寫出的代碼卻是去查看地址pSource是否為零,這是第二定義。

  最終結(jié)果是while()循環(huán)繼續(xù)寫入內(nèi)存直到程序崩潰。

  0的其他定義之間也可能產(chǎn)生混亂。唯一的解決辦法就是當你使用常數(shù)0的時候小心一點。

  聲明的混亂處

  復合聲明是非;靵y的,但C++--以它的熱忱保持了與C的反向兼容性--但也產(chǎn)生了一些聲明間的矛盾,你必須避免這種矛盾。

  class Myclass

  {

  public:

  Myclass(int nArg1 = 0,int nArg2 = 0);

  };

  Myclass mcA(1,2);

  Myclass mcB(1);

  Myclass mcC();

  mcA是參數(shù)1和2構(gòu)成的對象,而mcB是參數(shù)1和0構(gòu)成的對象。因此你可能認為mcC是參數(shù)0和0構(gòu)成的對象,然而情況不是這樣。而mcC()是一個不帶參數(shù)的函數(shù),它用數(shù)值返回類Myclass的對象。

  另一個混亂產(chǎn)生于初始化運算符=的使用:

  Myclass mcB = nA; // same as Myclass mcB(nA)

  為了增強與C的兼容性,答應這樣使用=;然而你應該避免這種結(jié)構(gòu),因為它不是一貫適用的。例如下列程序就不會有預期的效果:

  Myclass mcA = nA,nB;

  這說明一個對象mcA(nA),它后面有一個獨立的使用缺省構(gòu)造符的對象nB,而不是說明一個對象mcA(nA,nB)。

  堅持使用C++格式--這是最安全的。

上一頁  1 2 3 4 5 6 7 下一頁
  相關推薦:

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

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

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

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

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