• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2018-04-13 03:47:56孫雨軒
      數(shù)字通信世界 2018年2期
      關(guān)鍵詞:命名編程程序

      孫雨軒

      (東北師范大學(xué)附屬中學(xué)凈月實(shí)驗(yàn)學(xué)校,長春 130117)

      1 變量命名不當(dāng)

      問題表現(xiàn):C++編程語言對于命名問題十分重視,尤其還對變量的命名,必須明確,其目的就是為了避免出現(xiàn)由于命名混亂導(dǎo)致的程序錯(cuò)誤,影響程序的可讀性。關(guān)于變量命名問題,一般是出現(xiàn)在初學(xué)者在程序的編寫過程中容易出現(xiàn)的問題。

      解決對策:為了進(jìn)一步解決新手在操作中出現(xiàn)這樣的問題,通過匈牙利表法能夠直接有效的通過用一個(gè)或者多個(gè)小寫字母對變量名進(jìn)行命名,夾著在字母后面著名變量的意義,就能夠按照隨附的字母進(jìn)行排序,也能夠自符合C++編程的變量要求。例如,以編程中三個(gè)變量為例,這三個(gè)變量分別是iValue1、iValue2、fResult,通過觀察命名就能知道命名所代表的變量意思。

      首字母i就表示整個(gè)變量數(shù)據(jù)屬于整型變量數(shù)據(jù),f就表示整個(gè)變量數(shù)據(jù)屬于浮點(diǎn)型變量數(shù)據(jù)。所以能夠強(qiáng)襲準(zhǔn)確的對這些變量數(shù)據(jù)進(jìn)行辨別和確認(rèn)。如果采用一般的命名法,我們能夠區(qū)分iValue1、iValue2是具有相同屬性的兩個(gè)變量,但是就很難理解fResult的類型關(guān)系。所以說利用匈牙利表示法,能夠有效的幫助新手在應(yīng)用不熟練的情況下找到數(shù)據(jù)并進(jìn)行下一步工作。

      2 動(dòng)態(tài)內(nèi)存問題

      問題表現(xiàn):動(dòng)態(tài)內(nèi)存分配的問題,一直是C++編程中經(jīng)常出現(xiàn)的問題,在分析動(dòng)態(tài)內(nèi)存問題的表現(xiàn)形式以及解決方法之前,先要對動(dòng)態(tài)內(nèi)存分配的內(nèi)涵有一定的了解。動(dòng)態(tài)內(nèi)存分配就是指程序執(zhí)行的過程中動(dòng)態(tài)的分配或者回收儲(chǔ)存空間,進(jìn)行再分配。在編程中,經(jīng)常會(huì)出現(xiàn)程序編寫人員為了節(jié)省空間內(nèi)存,使用動(dòng)態(tài)內(nèi)存來儲(chǔ)存空間,最終由于操作不當(dāng),導(dǎo)致的動(dòng)態(tài)分配的問題。這時(shí),null指針會(huì)進(jìn)行接引操作,對分配的內(nèi)存進(jìn)行越過邊界的處理,釋放非動(dòng)態(tài)分配的內(nèi)存、在什邡過程中經(jīng)常是釋放了一部分但隨即就又被繼續(xù)使用。在傳遞的過程中,要求傳遞給free的指針必須從malloccalloc-realloc函數(shù)再返還給指針。但是通過釋放非港臺(tái)內(nèi)存,容易引起程序的終止或延遲終止。

      3 概念混淆使用問題

      問題表現(xiàn):概念的混淆主要體現(xiàn)在對局部變量、全局變量、存儲(chǔ)類別的概念混淆。這三種概念都是C++編程中經(jīng)常出現(xiàn)的問題,對于初學(xué)者而言很難區(qū)分三者之間的關(guān)系。局部變量就是指在函數(shù)內(nèi)部的定義,并旨在函數(shù)中能夠有效,在應(yīng)用中要注重,在main中定義的局部變量也只是在主函數(shù)有效,由于不同的函數(shù)不同,可以通過使用同名的局部變量,只要局部變量只針對函數(shù)作用,就能夠互不干擾。全局變量,也就外部變量,顧名思義,就是與局部變量的內(nèi)涵完全相反,知識(shí)能夠應(yīng)用在函數(shù)外部的變量。通過對整個(gè)程序的考慮,由于外部變量空間占用內(nèi)存較大,也要注重對其的應(yīng)用,避免出新降低程序清晰度的問題。變量存儲(chǔ)類別,在整個(gè)程序中主要有三個(gè)存儲(chǔ)部分,分別是:程序區(qū)、動(dòng)態(tài)存儲(chǔ)區(qū)、靜態(tài)存儲(chǔ)區(qū)。

      由于數(shù)據(jù)種類的不同,也要放在不同的存儲(chǔ)去進(jìn)行存儲(chǔ)。其中變量存儲(chǔ)的只要是在動(dòng)態(tài)存儲(chǔ)區(qū)和靜態(tài)存儲(chǔ)區(qū)之中。由于命名不同,例如,auto、extern、static等。所以針對不同的命名就要選擇不同的存儲(chǔ)空間。

      解決對策:為了進(jìn)一步解決概念混淆使用問題,主要就是掌握局部變量、全局變量、存儲(chǔ)類別的概念,進(jìn)一步在進(jìn)行存儲(chǔ)是,主張對變量性質(zhì)的權(quán)衡。對于靜態(tài)局部變量,在函數(shù)調(diào)試之后,不釋放其占用的單元,在進(jìn)行下一次函數(shù)的使用時(shí),仍然可以對上次的數(shù)據(jù)進(jìn)行再次使用數(shù)據(jù),在靜態(tài)局部變量中通過函數(shù)的調(diào)試,這是其他函數(shù)不能夠比擬的。靜態(tài)全局變量,通過上文對全局變量含義的分析,靜態(tài)全局變量只能夠應(yīng)用在本函數(shù)中。register是能夠把作為一般變量進(jìn)行儲(chǔ)存,在程序運(yùn)行中需要時(shí),由控制器該變量輸送在CPU運(yùn)算器中,通過CPU的運(yùn)算,再進(jìn)行存儲(chǔ)?,F(xiàn)在技術(shù)已經(jīng)能夠?qū)⒆兞窟M(jìn)行自行的發(fā)送,不需要指定即可。

      4 結(jié)論

      在這個(gè)過程中,C++編程中常見問題與解決途徑需要以變量命名、動(dòng)態(tài)內(nèi)存、概念混淆使用為依據(jù),注意在進(jìn)行編程中對常見問題綜合思考,是提高解決能力、促進(jìn)C++編程程序完善上升空間的有效舉措。

      [1] 李素若.基于慕課的編程類課程混合式教學(xué)模式研究與實(shí)踐——以《C++程序設(shè)計(jì)》為例[J].軟件導(dǎo)刊,2017,16(1):189-191.

      猜你喜歡
      命名編程程序
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      命名——助力有機(jī)化學(xué)的學(xué)習(xí)
      試論我國未決羈押程序的立法完善
      有一種男人以“暖”命名
      東方女性(2018年3期)2018-04-16 15:30:02
      為一條河命名——在白河源
      散文詩(2017年17期)2018-01-31 02:34:08
      “程序猿”的生活什么樣
      英國與歐盟正式啟動(dòng)“離婚”程序程序
      长垣县| 永登县| 金沙县| 周口市| 寻乌县| 汤阴县| 德格县| 孟州市| 青铜峡市| 拉孜县| 建昌县| 凌海市| 宁蒗| 纳雍县| 西贡区| 荣昌县| 库伦旗| 水城县| 富锦市| 湟中县| 凌海市| 甘泉县| 许昌县| 五华县| 荥阳市| 建昌县| 水城县| 石嘴山市| 大悟县| 公安县| 乌鲁木齐市| 措美县| 安顺市| 武平县| 镇远县| 长葛市| 清徐县| 潼南县| 灌南县| 阿鲁科尔沁旗| 云浮市|