999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談C++編程中常見問題與解決途徑

2017-12-30 21:48:18黃卓凡河北省唐山市第一中學河北唐山063000
數碼設計 2017年15期
關鍵詞:程序

黃卓凡(河北省唐山市第一中學 河北 唐山 063000)

1 C++編程中動態內存分配問題

在C++編程中內存管理的第一步是內存分配。最為基本的分配方式是直接取出一定的固定內存,在固定內存上操作。為了防止溢出,這個固定內存必須要大于可能出現的最大需要。但是可能對于大部分問題,解決起來不需要那么多的內存。動態內存就是為了解決這個問題而被使用的。對于初學者來說,動態內存分配也是最容易出現問題的環節。比如:解引用null()指針;釋放已申請的非動態內存;操作內存越界;忘記檢查所請求的內存是否成功分配;只釋放動態分配的內存的一部分;繼續使用已被釋放動態內存。

注意:

(1)避免引用已申請但未初始化內存。注意賦予初值,即使是0。

(2)釋放操作對應的指針必須由calloc()、malloc()、realloc()等函數返回,其它函數指針可能導致程序立刻終止。注意進行非null判斷以確認。

(3)避免使用已釋放內存。注意在內存釋放后將指針設為null。

(4)注意malloc()、realloc()和calloc()三者的區別。如:malloc()不會對申請的內存初始化而calloc()會將分配的空間初始化為0等。

2 C++編程中多層嵌套的使用問題

在C++代碼編寫過程中,多層嵌套是必不可少的。在多情況討論時的多重if()嵌套;在進行某些算法時的多重循環嵌套;多重函數嵌套等。對于初學者而言,使用多層嵌套可能會出現多種問題:

(1)在程序修改過程中可能會刪除一段程序,如果多刪除括號就會導致括號匹配錯誤。解決:將一對括號放在同一行或同一列,實時檢查當前括號是否符合邏輯關系。

(2)在多層循環嵌套時,對標記的初始化出現在錯誤循環層導致錯誤;循環順序錯誤導致錯誤.解決:仔細考慮循環中所需數據的變化情況并據此確定記錄數據應處位置。

(3)在多情況討論時,嵌套邏輯錯誤。解決:可以將多個邏輯判斷簡化如:

if(situation1()){

if(situation2()){

if(situation3()){

do();}}

}

簡化為

if(situation1()&& situation2()&& situation3()){do();}

(4)在多函數嵌套時,嵌套失誤。如并查集代碼:int getnode(int x){

if(node[x]==x)return x;return getnode(node[x]);}

通過路徑壓縮修改為

int getnode(int x){

if(node[x]==x)return x;

node[x]=getnode(node[x]);

return node[x];

}

增加代碼效率。

注意:

(1)要明確嵌套邏輯思路和實際的關系。(2) 善用 break,continue,return語句。

(3)程序設計上不推薦用goto語句,如果為簡化代碼使用goto時要注意goto的一些特殊性質。

3 變量命名問題

C++語言在對變量的命名采用直觀且明確的方式,通過對程序編寫人員的提示有效的避免了由于命名混亂導致的程序錯誤,大大增加程序的可讀性。變量命名問題是初學者在編程過程中經常遇到的問題。對于個人編程而言,變量名可以根據自身需要自由使用,如“a”“b”“c”“a1”等。但是專業程序編寫界內有專業的命名法則:匈牙利命名法、帕斯卡命名法、小駝峰式命名法較為受歡迎。

(1)匈牙利命名法。微軟Windows系統環境最常用匈牙利命名法。匈牙利命名法使用小寫字母的符號標識作為變量名前綴,標識作用域、類型等。可以多個符號同時使用,順序是先成員變量、指針和簡單數據類型后其它。好處:能增加程序可讀性,便于程序編寫人員對程序的理解和維護。如:iMyDoc。

(2)小駝峰式命名法。駝峰命名混合使用大小寫字母--首字母小寫、其它單詞首字母大寫的方式命名函數和變量。如:printPay()。

(3)帕斯卡命名法。帕斯卡命名法與小駝峰式命名法十分相似,只是它單詞的第一個字母不是小寫而是大寫。如PrintData()。

注意:

(1)變量和函數名要清晰簡潔、單詞或單詞縮寫要讓大家基本能夠理解,避免產生誤解。

(2)函數命名要遵循動賓原則。

(3)避免單個字符變量名。

(4)定義標識符時盡量避免使用數字或不常用字符。

(5)同一項目中要有一致的命名風格。

4 結束語

初學者在學習運用C++編程時可能遇到很多問題,遇到問題時必須保持耐心,有些問題并非全部屬于技術上的難題,而是經驗不足、甚至是概念不清晰而產生的錯誤。希望本文的研究有利于提高初學者對程序錯誤的認識。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 福利一区在线| 亚洲一区免费看| 亚洲精品无码AⅤ片青青在线观看| 97一区二区在线播放| 亚洲女同一区二区| 国产日韩丝袜一二三区| 国产va欧美va在线观看| 国产办公室秘书无码精品| 人妻丰满熟妇AV无码区| 在线中文字幕网| 亚洲综合片| 亚洲第一在线播放| 久久国产成人精品国产成人亚洲| 性激烈欧美三级在线播放| 国产成人永久免费视频| 日本国产一区在线观看| 在线高清亚洲精品二区| 国产福利小视频高清在线观看| 日本午夜三级| v天堂中文在线| 色偷偷一区二区三区| 亚洲精品777| 中文字幕不卡免费高清视频| 国产在线视频欧美亚综合| 成人毛片免费观看| 亚洲欧美一区二区三区蜜芽| 一级成人欧美一区在线观看| 久久综合久久鬼| 精品91视频| 久久黄色影院| 综合色天天| 日本高清成本人视频一区| 国产亚洲男人的天堂在线观看| 国产91小视频| 网友自拍视频精品区| 免费女人18毛片a级毛片视频| 婷婷六月综合网| 日本精品视频一区二区| 久久精品国产国语对白| 亚洲天堂区| 国产手机在线观看| 91精品啪在线观看国产91九色| 日本高清视频在线www色| 亚洲精品无码AV电影在线播放| 国产美女免费| 夜夜操天天摸| 国产成人综合日韩精品无码不卡 | 亚洲日韩高清在线亚洲专区| P尤物久久99国产综合精品| 亚洲欧美在线看片AI| 天天摸夜夜操| 92精品国产自产在线观看| 国产美女自慰在线观看| 1级黄色毛片| 欧美a√在线| 欧美在线观看不卡| 久久国产乱子伦视频无卡顿| 免费在线色| 第九色区aⅴ天堂久久香| 亚洲性一区| 91精品亚洲| 欧美日韩高清在线| 久久男人视频| 亚洲乱码精品久久久久..| 麻豆国产精品视频| 亚洲最猛黑人xxxx黑人猛交| 午夜a级毛片| 国产一区二区丝袜高跟鞋| 国产性生交xxxxx免费| 国产在线精品99一区不卡| 欧美专区在线观看| 萌白酱国产一区二区| 日韩区欧美区| 色亚洲成人| 欧美综合成人| 中文字幕免费在线视频| 国产中文一区a级毛片视频| 国产在线视频欧美亚综合| 日本一区二区不卡视频| 亚洲国产中文欧美在线人成大黄瓜| 欧美日本在线| 欧洲亚洲一区|