国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C++ > 正文

高質量C++/C編程指南(五)

2024-09-07 17:00:55
字體:
來源:轉載
供稿:網友
第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值為100

A b(200); // 對象 b 的SIZE值為200

怎樣才能建立在整個類中都恒定的常量呢?別指望const數據成員了,應該用類中的枚舉常量來實現。例如

class A

{…

enum { SIZE1 = 100, SIZE2 = 200}; // 枚舉常量

int array1[SIZE1];

int array2[SIZE2];

};

枚舉常量不會占用對象的存儲空間,它們在編譯時被全部求值。枚舉常量的缺點是:它的隱含數據類型是整數,其最大值有限,且不能表示浮點數(如PI=3.14159)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产福利在线| 国产精品乱码一区二区三区视频| 国产精品福利视频一区二区三区 | 国产成人高清精品| 99久久国产视频| 精品176二区| 久久精品视频免费看| 国产精品久久一区二区三区不卡| 国产不卡一卡2卡三卡4卡5卡在线| 97国产视频| 久久精品国产亚洲777| 国产精品四虎| xxxx视频在线| 国产区视频在线播放| jizz亚洲大全| 91亚洲欧美| 国产特级毛片| 国产自产视频| 人成在线免费视频| 国产寡妇树林野战在线播放| 亚洲激情丁香| 国产精品69一区二区三区| 免费不卡中文字幕视频| 97视频网站| 最新黄网在线观看| а√资源新版在线天堂| 精品视频在线一区二区| 国产视频第一区| 国产主播色在线| 欧美日韩不卡中文字幕在线| 精品视频一二三| 国产精品被窝福利一区| 大香伊人久久| 九九热视频免费在线观看| 一级二级在线观看| 国产色a在线| 最近中文字幕av免费高清| 懂色av中文在线| 国产麻豆麻豆| 中文字幕第一页在线| 自拍亚洲国产| 国产欧美一区二区三区小说| 中文字幕在线第一页| 国产三级视频在线看| 中文字幕第一页在线| 1区2区3区在线| 国产小黄视频| 国产精品久久久久久久牛牛| 国产福利热线视频| 精品网站www| 99在线免费观看| 精品视频一二区| 在线国产网址| 九九热免费视频| 国产一区二区三区福利| 国产变态拳头交视频一区二区| 国产成人精品久久一区二区小说| 国产精品99爱免费视频| 国产a国产a国产a| 亚洲欧美小说国产图片| 欧美专区日韩| 中文字幕不卡免费视频| 国产三级在线免费观看| 992tv在线观看在线播放| www网站在线观看| 好男人社区在线视频| 国产经典av| 免费电影网站在线视频观看福利| 国产麻豆精品视频一区二区| 国产99re66在线视频| 免费久久网站| 精品无吗乱吗av国产爱色| 超碰在线人人| 2021av天天| 国产理论电影在线观看| av片在线观看| 国产一起色一起爱| 麻豆精品永久免费视频| 中文字幕av在线播放| 国产九色视频| 色综合久久五月天| 91国内在线| 国产视频精选在线| 久久久久久久久亚洲精品| 91免费日韩| 国产精品bbw一区二区三区| 黄色国产网站在线播放| 日韩在线天堂| 亚洲免费国产| av一级在线| 在线观看的av| av高清在线| 在线观看的网站你懂的| 69视频在线观看| 69国产精品| 国产精品18久久久久久久久久| 国内a∨免费播放| 精品资源在线看| 欧美成人亚洲高清在线观看| 亚洲天堂视频在线观看免费| 在线黄色.com| 性色视频在线| 不卡av免费观看| 青青草免费在线观看| 奇米影视狠狠狠| 人日人天天爽| 丁香花视频在线观看| 91sp网站在线观看入口| 国产私拍精品| av天天在线| 欧美亚洲另类在线观看| 国产在线视精品麻豆| 91caoporn在线| 国产丝袜精品丝袜| 国产激情99| eeuss影院www在线观看| 国产在线高潮| 国产超碰在线| 四虎精品成人a在线观看| 欧美日韩亚洲国内综合网| 美女网站在线观看| 国产区视频在线播放| 亚洲免费国产| 国产污污在线观看| 永久免费av网站| 国产原创av在线| 中文字幕国产欧美| 亚洲视频精品在线观看| 国产乱xxⅹxx国语对白| 精品176二区| 午夜国产在线| 免费看黄视频网站| 99热免费在线观看| 国产精品视频一区二区三区麻豆| 欧美色第一页| 在线āv视频| 国产高清在线看| 国产真实伦在线观看| 99福利在线| 国产人成精品| 天堂中文资源在线| 亚洲电影先锋| 97视频在线| 6699久久国产精品免费| 国产一区二区影视| 欧美色第一页| av网站大全在线观看| 国产激情视频一区二区三区| 青青久草在线| 一级二级三级在线观看| 国产精品xxx电影| 国产在线看片| 女同一区二区免费aⅴ| 在线成人综合色一区| 国产高清大尺度一区二区不卡| 九九免费视频| www久久日com| 欧美日韩**字幕一区| 欧美性猛交p30| 久久这里精品| 久久久久国产精品嫩草影院| 欧美日韩国产亚洲沙发| 日本韩国精品一区二区| 欧美亚洲另类在线观看| 免费午夜一级| 国产乱视频在线观看| 国产乱码在线| 国产亚洲精品午夜高清影院| 午夜视频在线免费| 国产精品麻豆一区二区三区 | 不卡av免费观看| www.中文字幕久久久| 免费电影网站在线视频观看福利| 美女av在线播放| 中文字幕视频免费在线观看| 国产亚洲精品一区二区在线观看| 国产写真视频在线观看| 国产福利图片| eeuss影院在线观看第一页| 麻豆av电影在线观看| 国产区视频在线| www中文字幕在线观看| 天天操天天艹| 在线色视频网| 九九热视频精品在线观看| 国产叼嘿网站免费观看不用充会员| 中文在线观看视频| 国产69精品久久app免费版| 国产日本韩国在线播放| 午夜亚洲成人| 国产一二三在线观看| 四虎网站在线观看| 国产精品伦一区二区三区级视频频| 在线免费黄色毛片| 国产小黄视频| 九九在线免费视频| 色欧美在线观看| 国产激情自拍| 国产素人视频在线观看| 青青九九免费视频在线|