自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

影響C++/C程序的幾大要素

開發(fā) 后端
編程C++/C程序時應(yīng)該強(qiáng)調(diào)的一個重要方面是程序的易讀性,在保證軟件速度等性能指標(biāo)能滿足用戶需求的情況下,能讓其他程序員容易讀懂你所編寫的程序。

C++/C程序對函數(shù)的處理方式是不同的。extern "C"是使C++能夠調(diào)用C寫作的庫文件的一個手段,如果要對編譯器提示使用C的方式來處理函數(shù)的話,那么就要使用extern "C"來說明。

若研究項目小組的所有開發(fā)人員都遵循統(tǒng)一的、鮮明的一套編程風(fēng)格,可以讓協(xié)作者、后繼者和自己一目了然,在很短的時間內(nèi)看清楚程序結(jié)構(gòu),理解設(shè)計的思路,大大提高代碼的可讀性、可重用性、程序健壯性、可移植性、可維護(hù)性。

制定本編程規(guī)范的目的是為了提高軟件開發(fā)效率及所開發(fā)軟件的可維護(hù)性,提高軟件的質(zhì)量。本規(guī)范由程序風(fēng)格、命名規(guī)范、注釋規(guī)范、程序健壯性、可移植性、錯誤處理以及軟件的模塊化規(guī)范等部分組成。

每個C++/C程序通常分為兩個文件。一個文件用于保存程序的聲明(declaration),稱為頭文件。另一個文件用于保存程序的實現(xiàn)(implementation),稱為定義(definition)文件。

C++/C程序的頭文件以“.h”為后綴,C程序的定義文件以“.c”為后綴,C++程序的定義文件通常以“.cpp”為后綴(也有一些系統(tǒng)以“.cc”或“.cxx”為后綴)。早期的編程語言如Basic、Fortran沒有頭文件的概念,C++/C語言的初學(xué)者雖然會用使用頭文件,但常常不明其理。這里對頭文件的作用略作解釋:

(1) 通過頭文件來調(diào)用庫功能。在很多場合,源代碼不便(或不準(zhǔn))向用戶公布,只要向用戶提供頭文件和二進(jìn)制的庫即可。用戶只需要按照頭文件中的接口聲明來調(diào)用庫功能,而不必關(guān)心接口怎么實現(xiàn)的。編譯器會從庫中提取相應(yīng)的代碼;

(2) 頭文件能加強(qiáng)類型安全檢查。如果某個接口被實現(xiàn)或被使用時,其方式與頭文件中的聲明不一致,編譯器就會指出錯誤,這一簡單的規(guī)則能大大減輕程序員調(diào)試、改錯的負(fù)擔(dān)。assert不是一個倉促拼湊起來的宏。為了不在程序的Debug版本和Release版本引起差別,assert不應(yīng)該產(chǎn)生任何副作用。

所以assert不是函數(shù),而是宏。程序員可以把a(bǔ)ssert看成一個在任何系統(tǒng)狀態(tài)下都可以安全使用的無害測試手段。如果程序在assert處終止了,并不是說含有該assert的函數(shù)有錯誤,而是調(diào)用者出了差錯,assert可以幫助我們找到發(fā)生錯誤的原因。

絕大多數(shù)人都把細(xì)節(jié)太多(或者用貶義詞來說就是“陰暗角落太多”)歸結(jié)為C++的本質(zhì)問題,認(rèn)為一切邪惡由此而生。也正因此,大約9月份的時候,Linus在郵件列表上說“C++/C程序是一門有思想包袱的語言;僅僅是為了讓程序員遠(yuǎn)離C++,我也要用C”。這句短短的話在國內(nèi)引起了很大的反應(yīng),最初是劉江轉(zhuǎn)了Linus的話,然后云風(fēng)和孟巖都發(fā)表了自己的看法;我也寫了一篇“Why C++”(后來發(fā)給Bjarne,Bjarne對這篇文章做了一個友情評注)。

然而,這一通渾水?dāng)囘^之后,我相信引起的變化未必很大。大多數(shù)原先的反對者能從中找出反對的理由,于是更加反對;大多數(shù)原先的贊同者也能從中找到贊同的理由,于是更加贊同;而剩下來的原先沒有明確意見的,看雙方各有各的道理,可能還是沒有頭緒。

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實現(xiàn)方式上的一點區(qū)別
  2. C++編譯器如何對Const常量進(jìn)行分配存儲空間
  3. C++類庫設(shè)計的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來源: NET130
相關(guān)推薦

2011-05-13 18:10:55

CC++

2010-01-26 11:20:54

C++編輯器

2010-01-27 15:36:54

C++異常處理

2010-05-12 14:40:07

移動統(tǒng)一通信

2010-01-25 18:05:40

C++語言

2010-01-13 13:36:54

C++應(yīng)用程序

2010-01-11 10:01:25

C++的編程工具

2010-01-14 09:55:30

C++標(biāo)準(zhǔn)庫

2011-06-29 10:13:49

服務(wù)器災(zāi)難恢復(fù)

2010-01-28 10:33:10

C++開發(fā)程序

2010-01-28 14:46:08

C++變量

2021-02-26 10:41:59

C++程序員代碼

2011-04-08 09:52:44

C++C#DLL

2010-01-13 18:30:18

CC++程序設(shè)計

2010-01-12 17:10:56

Linux CC++程序

2010-01-12 10:40:22

C++程序員

2010-01-21 14:07:14

CC++聲明

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-22 11:23:06

C++程序
點贊
收藏

51CTO技術(shù)棧公眾號