青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

一動不如一靜

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  20 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks
1.修飾類的數(shù)據(jù)成員
const數(shù)據(jù)成員只是在某個對象的生命周期內(nèi)是常量.如果創(chuàng)建多個對象,那么每個對象的const數(shù)據(jù)成員可以不一樣.所以,不能在類聲明中初始化const數(shù)據(jù)成員.如:
class A
{
???const int size = 100;//?錯誤
???int array[size];//錯誤,未知的數(shù)組大小
}
const類數(shù)據(jù)成員,只能在類的構(gòu)造函數(shù)的初始化列表中進行.要想建立整個類都是恒定的常量的數(shù)據(jù),可以用類中的枚舉.如:
class A
{
enum {size1 = 100, size2 = 200};
int array[size1];
}

2.只有聲明為const的成員函數(shù)才能被一個const對象調(diào)用

3.在另一連接文件中引用const常量.
extern const int i

4.對于const對象,c++既允許對其進行靜態(tài)初始化,也允許對其進行動態(tài)初始化.const對象具有從構(gòu)造函數(shù)完成到析構(gòu)函數(shù)執(zhí)行之前的不變性.

5.常量與數(shù)組的組合有什么特殊嗎?
我們給出下面的代碼:
const int size[3]={10,20,50};
int array[size[2]];
編譯通不過!為什么呢?const可以用于集合,但編譯器不能把一個集合存放在它的符號表里,所以必須分配內(nèi)存。在這種情況下,const意味著“不能改變的一塊存儲”。然而,其值在編譯時不能被使用,因為編譯器在編譯時不需要知道存儲的內(nèi)容。自然,作為數(shù)組的大小就不行了
你再看看下面的例子:
class A
{
public:
A(int i=0):test[2]({1,2}) {} file://你/認為行嗎?
private:
const int test[2];
};
C++標準有一個規(guī)定,不允許無序?qū)ο笤陬悆?nèi)部初始化,數(shù)組顯然是一個無序的,所以這樣的初始化是錯誤的!對于他,只能在類的外部進行初始化,如果想讓它通過,只需要聲明為靜態(tài)的,然后初始化。
這里我們看到,常量與數(shù)組的組合沒有什么特殊!一切都是數(shù)組惹的禍!

(7)什么情況下為const分配內(nèi)存?
以下是我想到的可能情況,當然,有的編譯器進行了優(yōu)化,可能不分配內(nèi)存。
A、作為非靜態(tài)的類成員時;
B、用于集合時;
C、被取地址時;
D、在main函數(shù)體內(nèi)部通過函數(shù)來獲得值時;
E、const的 class或struct有用戶定義的構(gòu)造函數(shù)、析構(gòu)函數(shù)或基類時;。
F、當const的長度比計算機字長還長時;
G、參數(shù)中的const;
H、使用了extern時。

(8)與static搭配會不會有問題?
假設(shè)有一個類:
class A
{
public:
......
static void f() const { ......}
......
};
我們發(fā)現(xiàn)編譯器會報錯,因為在這種情況下static不能夠與const共存!因為static沒有this指針,但是const修飾this指針.

(9)如何修改常量?
有時候我們卻不得不對類內(nèi)的數(shù)據(jù)進行修改,但是我們的接口卻被聲明了const,那該怎么處理呢?我對這個問題的看法如下:
1)標準用法:mutable
class A
{
public:
A(int i=0):test(i) { }
void Setvalue(int i)const { test=i; }
private:
mutable int test; file://這/里處理!
};
2)強制轉(zhuǎn)換:const_cast
class A
{
public:
A(int i=0):test(i) { }
void Setvalue(int i)const
{ const_cast <int>(test)=i; }//這里處理!
private:
int test;
};

(10)最后我們來討論一下常量對象的動態(tài)創(chuàng)建。
既然編譯器可以動態(tài)初始化常量,就自然可以動態(tài)創(chuàng)建,例如:
const int* pi=new const int(10);
這里要注意2點:
1)const對象必須被初始化!所以(10)是不能夠少的。
2)new返回的指針必須是const類型的。
那么我們可不可以動態(tài)創(chuàng)建一個數(shù)組呢?
答案是否定的,因為new內(nèi)置類型的數(shù)組,不能被初始化。
posted on 2006-06-14 17:49 一動不如一靜 閱讀(444) 評論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久国产精品99gif| 日韩视频在线一区| 夜夜嗨av一区二区三区四区| 亚洲欧洲一区二区天堂久久| 亚洲精品一二三| 一区二区三区**美女毛片| 亚洲一区二区三区四区五区午夜 | 欧美电影免费观看高清| 欧美成人蜜桃| 国产精品超碰97尤物18| 国产区亚洲区欧美区| 一区二区三区亚洲| 在线亚洲一区观看| 久久久久在线| 亚洲毛片在线免费观看| 亚洲一区二区综合| 欧美/亚洲一区| 国产精品久久久久久久久免费桃花 | 欧美性生交xxxxx久久久| 国产乱码精品1区2区3区| 精品av久久707| 亚洲图片激情小说| 免费亚洲网站| 香蕉久久a毛片| 欧美日韩中文另类| 激情综合五月天| 亚洲在线播放| 亚洲国产99| 亚洲欧美国产制服动漫| 免费欧美日韩国产三级电影| 国产精品中文在线| 日韩午夜电影| 欧美承认网站| 久久精品国产清高在天天线| 欧美日韩一卡| 99热免费精品在线观看| 欧美成年人视频网站| 欧美一区二区三区四区在线观看| 欧美日韩视频在线| 亚洲精品日韩在线观看| 蜜桃精品久久久久久久免费影院| 亚洲一区二区黄色| 欧美日韩国产成人在线观看| 亚洲国产99| 欧美 亚欧 日韩视频在线| 小黄鸭精品aⅴ导航网站入口| 国产精品成人一区| 亚洲视频在线观看一区| 99视频超级精品| 欧美日韩一区高清| 国产精品99久久久久久久久久久久 | 欧美色综合天天久久综合精品| 136国产福利精品导航网址应用| 欧美一区二区在线看| 亚洲在线视频| 国产日韩欧美视频| 久久不射网站| 久久9热精品视频| 激情欧美亚洲| 欧美国产精品v| 欧美高清自拍一区| 亚洲最黄网站| 亚洲社区在线观看| 欧美深夜影院| 亚洲在线观看| 亚洲欧美日韩电影| 国产一区二区三区视频在线观看| 久久av红桃一区二区小说| 午夜国产欧美理论在线播放 | 在线综合亚洲欧美在线视频| 在线综合亚洲| 亚洲丝袜av一区| 国产精品午夜视频| 久久深夜福利免费观看| 美女精品在线观看| 这里只有视频精品| 亚洲综合视频在线| 尤物精品在线| 日韩西西人体444www| 国产精品视频成人| 毛片一区二区| 欧美日韩国产一区二区三区地区 | 极品尤物av久久免费看 | 久久成人这里只有精品| 亚洲高清网站| 99视频超级精品| 国产综合一区二区| 亚洲福利视频三区| 国产精品乱码一区二三区小蝌蚪 | 影院欧美亚洲| 亚洲麻豆视频| 加勒比av一区二区| 日韩午夜中文字幕| 一区二区三区在线免费观看| 亚洲三级观看| 国语自产精品视频在线看一大j8 | 久久久久久久久久久久久9999| 久久久噜噜噜久久狠狠50岁| 日韩视频免费| 久久国内精品自在自线400部| 亚洲伦理网站| 欧美中日韩免费视频| 一区二区av| 久久综合影音| 久久精品成人一区二区三区| 欧美国产日韩一区二区三区| 欧美在线综合| 欧美午夜久久久| 亚洲电影专区| 精品二区视频| 欧美在线欧美在线| 亚洲综合视频在线| 欧美激情视频一区二区三区在线播放| 久久成人资源| 国产精品一区二区在线观看| 亚洲精品国产精品国自产观看| 韩国一区二区三区在线观看| 一区二区三区久久| 在线亚洲欧美专区二区| 牛牛影视久久网| 理论片一区二区在线| 国产日韩欧美不卡在线| 一区二区三区日韩| 中国成人亚色综合网站| 欧美大片第1页| 女同性一区二区三区人了人一| 国产免费观看久久黄| 中文av字幕一区| 亚洲欧美文学| 亚洲毛片在线看| 日韩亚洲欧美综合| 欧美成人小视频| 亚洲高清资源| 99视频有精品| 欧美日韩精品免费观看视频| 最新精品在线| 中日韩在线视频| 国产精品久久一卡二卡| 亚洲一区二区在线播放| 久久黄金**| 在线成人av| 欧美黄色免费| 一区二区三区四区国产| 亚洲欧美日韩精品综合在线观看| 欧美视频中文在线看| 亚洲视频欧洲视频| 久久精品综合网| 亚洲高清二区| 欧美日精品一区视频| 午夜精彩视频在线观看不卡 | 在线亚洲精品| 欧美在线地址| 最新中文字幕一区二区三区| 欧美激情精品久久久久久黑人| 亚洲黄色在线观看| 亚洲欧美一区二区在线观看| 国产小视频国产精品| 久久理论片午夜琪琪电影网| 亚洲精品裸体| 欧美一区91| 亚洲国产免费看| 国产精品国产自产拍高清av| 欧美在线播放视频| 亚洲欧洲在线一区| 欧美一区1区三区3区公司| 在线精品视频一区二区三四| 欧美日本一区二区三区| 午夜精品一区二区在线观看 | 亚洲国产二区| 欧美性猛交xxxx乱大交蜜桃| 久久精品国产第一区二区三区最新章节| 欧美电影打屁股sp| 欧美一区二区三区在线| 亚洲国产精品成人久久综合一区| 欧美视频精品在线| 另类酷文…触手系列精品集v1小说| 日韩亚洲一区在线播放| 麻豆精品一区二区av白丝在线| 99综合在线| 激情欧美亚洲| 欧美日韩精品免费在线观看视频| 欧美一区二区三区播放老司机 | 国产精品免费看| 老司机午夜免费精品视频| 亚洲一区二区视频在线观看| 亚洲国产免费| 久久久91精品国产一区二区精品| 91久久久久久| 国产欧美精品一区| 欧美日在线观看| 毛片一区二区| 久久久久国产精品一区三寸| 亚洲网在线观看| 亚洲精品日产精品乱码不卡| 免费不卡在线观看av| 国产日韩欧美在线一区| 欧美猛交免费看| 久久艳片www.17c.com| 欧美专区日韩视频| 午夜精品999|