亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

高質量C++/C編程指南 -- 第5章 常量

2019-11-17 05:19:46
字體:
來源:轉載
供稿:網友

  第5章 常量
常量是一種標識符,它的值在運行期間恒定不變。C語言用 #define來定義常量(稱為宏常量)。C++ 語言除了 #define外還可以用const來定義常量(稱為const常量)。 5.1 為什么需要常量
假如不使用常量,直接在程序中填寫數字或字符串,將會有什么麻煩?(1) 程序的可讀性(可理解性)變差。程序員自己會忘記那些數字或字符串是什么意思,用戶則更加不知它們從何處來、表示什么。(2) 在程序的很多地方輸入同樣的數字或字符串,難保不發生書寫錯誤。(3) 假如要修改數字或字符串,則會在很多地方改動,既麻煩又輕易出錯。l 【規則5-1-1】 盡量使用含義直觀的常量來表示那些將在程序中多次出現的數字或字符串。例如:#define MAX 100 /* C語言的宏常量 */ const int MAX = 100; // C++ 語言的const常量const float PI = 3.14159; // C++ 語言的const常量5.2 const 與 #define的比較
C++ 語言可以用const來定義常量,也可以用 #define來定義常量。但是前者比后者有更多的優點:(1) const常量有數據類型,而宏常量沒有數據類型。編譯器可以對前者進行類型安全檢查。而對后者只進行字符替換,沒有類型安全檢查,并且在字符替換可能會產生意料不到的錯誤(邊際效應)。(2) 有些集成化的調試工具可以對const常量進行調試,但是不能對宏常量進行調試。l 【規則5-2-1】在C++ 程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量。5.3 常量定義規則
l 【規則5-3-1】需要對外公開的常量放在頭文件中,不需要對外公開的常量放在定義文件的頭部。為便于治理,可以把不同模塊的常量集中存放在一個公共的頭文件中。l 【規則5-3-2】假如某一常量與其它常量密切相關,應在定義中包含這種關系,而不應給出一些孤立的值。例如:const float RADIUS = 100;const float DIAMETER = RADIUS * 2;5.4 類中的常量
有時我們希望某些常量只在類中有效。由于#define定義的宏常量是全局的,不能達到目的,于是想當然地覺得應該用const修飾數據成員來實現。const數據成員的確是存在的,但其含義卻不是我們所期望的。const數據成員只在某個對象生存期內是常量,而對于整個類而言卻是可變的,因為類可以創建多個對象,不同的對象其const數據成員的值可以不同。不能在類聲明中初始化const數據成員。以下用法是錯誤的,因為類的對象未被創建時,編譯器不知道SIZE的值是什么。class A{…const int SIZE = 100; // 錯誤,企圖在類聲明中初始化const數據成員int array[SIZE]; // 錯誤,未知的SIZE};const數據成員的初始化只能在類構造函數的初始化表中進行,例如class A{…A(int size); // 構造函數const int SIZE ; };A::A(int size) : SIZE(size) // 構造函數的初始化表{…}A a(100); // 對象 a 的SIZE值為100A b(200); // 對象 b 的SIZE值為200怎樣才能建立在整個類中都恒定的常量呢?別指望const數據成員了,應該用類中的枚舉常量來實現。例如class A{…enum { SIZE1 = 100, SIZE2 = 200}; // 枚舉常量int array1[SIZE1]; int array2[SIZE2];};枚舉常量不會占用對象的存儲空間,它們在編譯時被全部求值。枚舉常量的缺點是:它的隱含數據類型是整數,其最大值有限,且不能表示浮點數(如PI=3.14159)。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高跟鞋交xxxxhd| 国产精品一二三视频| 欧美裸体xxxx极品少妇软件| 久久中文字幕视频| 91精品久久久久久久| 精品视频久久久| 国产精品va在线播放| 久久精品99国产精品酒店日本| 久久精品国产亚洲一区二区| 欧美亚洲成人网| 欧美有码在线视频| 亚洲人免费视频| 日韩中文字幕国产| 欧美综合在线观看| 欧美色播在线播放| 久久国产精品影片| 日韩一级裸体免费视频| 亚洲人成电影在线播放| 免费不卡在线观看av| 国产一区二区色| 日本韩国在线不卡| 国产欧美精品一区二区三区-老狼| 亚洲欧美日韩区| 亚洲福利视频网站| 91免费精品国偷自产在线| 亚洲成人激情视频| 日韩精品在线私人| 欧美综合在线观看| 欧美日韩午夜剧场| 91久久嫩草影院一区二区| 日本一区二区不卡| 蜜臀久久99精品久久久久久宅男| 亚洲free性xxxx护士hd| 日韩在线视频观看正片免费网站| 久久成人精品视频| 亚洲性线免费观看视频成熟| 久久久久久久久中文字幕| 5252色成人免费视频| 91日本在线观看| 5252色成人免费视频| 亚洲欧美另类在线观看| 亚洲小视频在线观看| 日本欧美中文字幕| 国产精品视频网址| 91夜夜未满十八勿入爽爽影院| 亚洲成人教育av| 欧美乱妇高清无乱码| 亚洲伊人久久综合| 日韩视频免费大全中文字幕| 欧美亚洲成人精品| 国产综合色香蕉精品| 亚洲欧洲xxxx| 91高清在线免费观看| 国产女人精品视频| 4438全国亚洲精品在线观看视频| 午夜免费在线观看精品视频| 懂色av影视一区二区三区| 中文字幕日韩在线视频| 成人免费视频在线观看超级碰| 日韩精品中文在线观看| 久久91超碰青草是什么| 一区二区亚洲精品国产| 日韩电影中文字幕一区| 国产成人91久久精品| 成人在线激情视频| 亚洲人成电影网站色…| 久久久久久久久久久av| 亚洲自拍小视频免费观看| 国产乱人伦真实精品视频| 欧洲亚洲妇女av| 成人深夜直播免费观看| 国产精品久久二区| 亚洲美女免费精品视频在线观看| 欧美黑人xxxx| 亚洲精品美女久久久久| 欧美国产日韩一区二区在线观看| 97免费中文视频在线观看| 色偷偷9999www| 日韩二区三区在线| 日韩三级影视基地| 成人精品视频99在线观看免费| 亚洲欧洲日产国码av系列天堂| 亚洲电影免费观看高清完整版在线观看| 欧美成年人在线观看| 欧美精品国产精品日韩精品| 97色在线观看| 欧美日韩在线观看视频| 欧美日韩一二三四五区| 色婷婷av一区二区三区久久| 欧美另类极品videosbestfree| 亚洲国产精品va在看黑人| 日韩中文字幕国产| 中文字幕免费国产精品| 亚洲一二三在线| 久久99亚洲精品| 成人精品福利视频| 日韩小视频网址| 亚洲成人av在线| 亚洲欧美国内爽妇网| 大荫蒂欧美视频另类xxxx| 亚洲一区中文字幕在线观看| 91视频国产精品| 国产精品99蜜臀久久不卡二区| 久久在线视频在线| 欧美日韩中文在线观看| 国产日本欧美一区二区三区| 欧美亚洲国产视频| 亚洲一区二区中文字幕| 欧美成人一区在线| 亚洲人成电影网站| 日韩成人在线视频| 最近2019免费中文字幕视频三| 亚洲激情在线观看视频免费| 欧美国产日韩xxxxx| 国产精品wwwwww| 成人精品在线观看| 97人人模人人爽人人喊中文字| 午夜精品福利在线观看| 国产999在线观看| 久99九色视频在线观看| 日韩美女视频免费在线观看| 亚洲精品久久久久久久久久久久| 亚洲国产欧美一区二区丝袜黑人| 欧美裸体xxxx极品少妇| 色999日韩欧美国产| 97色在线观看免费视频| 国产精品永久免费视频| 亚洲在线免费视频| 欧美日韩性视频在线| 日韩av一区在线观看| 日韩精品999| 91精品国产高清自在线看超| 蜜月aⅴ免费一区二区三区| 欧美肥婆姓交大片| 国产九九精品视频| 日韩在线欧美在线国产在线| 97色在线播放视频| 久久精品视频va| 成人乱人伦精品视频在线观看| 国产精品99蜜臀久久不卡二区| 国产97在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 91免费看视频.| 亚洲激情小视频| 91在线视频导航| 国产一区二区三区网站| www.美女亚洲精品| 91av在线播放视频| 91久久久亚洲精品| 亚洲国产日韩精品在线| 亚洲一区二区三区乱码aⅴ| 精品电影在线观看| 日韩av电影手机在线| 日韩视频免费观看| 欧美在线视频播放| 国产黑人绿帽在线第一区| 亚洲午夜精品久久久久久久久久久久| 日韩精品免费在线播放| 久久福利网址导航| 国产91露脸中文字幕在线| 欧美日韩免费区域视频在线观看| 日本国产欧美一区二区三区| 美女久久久久久久久久久| 26uuu久久噜噜噜噜|