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

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

C++中的const

2019-11-06 06:25:55
字體:
來源:轉載
供稿:網友

C++語言中的const關鍵字

const是一個C和C++語言的關鍵字,意思是宣告一個常數(不能改變的變量),即只讀。const作為類型限定符,是類型的一部分。以下是和C語言兼容的用法:

int m = 1, n = 2; // int 類型的對象const int a = 3; // const int 類型的對象int const b = 4; //同上const int * p //指向 const int 類型對象的指針int const * q; //同上int * const x; //指向 int 類型對象的 const 指針;注意 const 的位置const int * const r; //指向 const int 類型對象的 const 指針int const * const t; //同上

const在C++中有更強大的特性。它允許在編譯時確定作為真正的常量表達式。例如,

const int max_len = 42;int a[max_len];

不同數據類型

Simple data types (int, float, char…)

For simple non-pointer data types, applying the const qualifier is straightforward. It can go on either side of the type for historical reasons (that is, const char foo = ‘a’; is equivalent to char const foo = ‘a’;). On some implementations, using const on both sides of the type (for instance, const char const) generates a warning but not an error.

Pointers and references (int ?, char ?)

For pointer and reference types, the meaning of const is more complicated – either the pointer itself, or the value being pointed to, or both, can be const. Further, the syntax can be confusing. A pointer can be declared as a const pointer to writable value, or a writable pointer to a const value, or const pointer to const value.

A const pointer cannot be reassigned to point to a different object from the one it is initially assigned, but it can be used to modify the value that it points to (called the pointee). Reference variables are thus an alternate syntax for const pointers.

A pointer to a const object, on the other hand, can be reassigned to point to another memory location (which should be an object of the same type or of a convertible type), but it cannot be used to modify the memory that it is pointing to.

A const pointer to a const object can also be declared and can neither be used to modify the pointee nor be reassigned to point to another object. The following code illustrates these subtleties:

void Foo( int * ptr, int const * ptrToConst, int * const constPtr, int const * const constPtrToConst ){ *ptr = 0; // OK: modifies the "pointee" data ptr = NULL; // OK: modifies the pointer *ptrToConst = 0; // Error! Cannot modify the "pointee" data ptrToConst = NULL; // OK: modifies the pointer *constPtr = 0; // OK: modifies the "pointee" data constPtr = NULL; // Error! Cannot modify the pointer *constPtrToConst = 0; // Error! Cannot modify the "pointee" data constPtrToConst = NULL; // Error! Cannot modify the pointer}

總結下, const 后面的不能變 例如 int const * ptrToConst, *ptrToConst不能變(不能改變pointee的值)但是ptrToConst能變(能改變pointor指向的對象) int * const constPtr, constPtr不能變但是 *constPtr不能變

細節題

int main() { char c; char *p = &c; p = "hello"; return 0;}

p不是 const 的,所以 p 指向的地址的內容可以被修改, 而“hello”是 const 的,不可以被修改,會報錯.

int main() { const char *p = "hello"; p[0] = 'a'; cout << p; return 0;}

p指向 const 字符串,不可被修改.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚州国产精品久久久| 国产欧美一区二区三区在线| 国模吧一区二区| 欧美电影在线免费观看网站| 日韩欧美精品中文字幕| 国产精品色悠悠| 亚洲一区二区三区sesese| 九九久久久久久久久激情| 亚洲日韩欧美视频| 亚洲男人天堂久| 中文字幕亚洲欧美在线| 久久免费精品日本久久中文字幕| 精品性高朝久久久久久久| 最新亚洲国产精品| 国产欧美精品在线| 欧美性黄网官网| 91热福利电影| 国产精品夜色7777狼人| 亚洲精品久久久久久久久久久久| 2019中文字幕在线免费观看| 国产精品久久一区主播| 色多多国产成人永久免费网站| 成人有码在线播放| 精品视频中文字幕| 黄网站色欧美视频| 成人中文字幕+乱码+中文字幕| 91精品国产91久久| 日韩中文字幕网站| 91国产美女视频| 国产精品视频免费观看www| 亚洲欧美第一页| 国产午夜精品一区二区三区| 国产精品99久久久久久久久久久久| www.色综合| 欧美亚洲在线播放| 中文字幕欧美精品日韩中文字幕| 亚洲色图狂野欧美| 精品国产精品三级精品av网址| 日韩中文字幕国产精品| 欧美日韩一区二区三区在线免费观看| 国产69精品久久久久9999| 国产mv久久久| 国产做受高潮69| 国产精品r级在线| 成人免费网站在线| 97在线观看免费| 久久精品成人一区二区三区| 青青青国产精品一区二区| 亚洲区bt下载| 欧美激情一区二区三区成人| 欧美性xxxxx| 欧美日韩一区二区免费在线观看| 在线观看精品自拍私拍| 久久九九有精品国产23| 亚洲精品视频播放| 青青久久aⅴ北条麻妃| 亚洲性生活视频在线观看| 国产亚洲精品高潮| 日本成人免费在线| 午夜精品一区二区三区av| 国产日韩换脸av一区在线观看| 亚洲最大福利视频网| 精品国产一区二区三区久久狼黑人| 中文字幕欧美精品在线| 亚州av一区二区| 欧美午夜精品在线| 97成人精品视频在线观看| 91av福利视频| 日本精品视频网站| 亚洲一区二区三区视频| 欧美有码在线视频| 久久久久久国产免费| 日韩亚洲国产中文字幕| 宅男66日本亚洲欧美视频| 日韩美女在线观看一区| 成人国产精品一区| 精品一区二区亚洲| 97超视频免费观看| 欧美成年人视频网站| 久久福利视频导航| 欧美小视频在线| 欧美激情精品久久久久久免费印度| 青草青草久热精品视频在线观看| 深夜精品寂寞黄网站在线观看| 欧美一级淫片播放口| 69国产精品成人在线播放| 国产精品国产自产拍高清av水多| 中文字幕一区电影| 亚洲日本中文字幕免费在线不卡| 欧美大片第1页| 欧美亚洲午夜视频在线观看| 狠狠色狠狠色综合日日五| 高跟丝袜欧美一区| 欧美主播福利视频| 亚洲激情 国产| 亚洲国产三级网| 国内偷自视频区视频综合| 亚洲男人第一av网站| 久久久视频精品| 538国产精品一区二区在线| 亚洲精品国产精品久久清纯直播| 欧美xxxx14xxxxx性爽| 欧美孕妇性xx| 成人激情av在线| 黑人与娇小精品av专区| 456国产精品| 精品电影在线观看| 欧美激情啊啊啊| 91最新在线免费观看| 久久天天躁日日躁| 97成人在线视频| 在线日韩日本国产亚洲| 亚洲欧美激情精品一区二区| 亚洲欧美另类国产| 亚洲区中文字幕| 岛国视频午夜一区免费在线观看| 成人免费视频xnxx.com| 最新日韩中文字幕| 成人免费视频网| 久久99视频免费| 国产精品av在线| 亚洲国产美女精品久久久久∴| 亚洲新声在线观看| 亚洲午夜激情免费视频| 日韩av电影免费观看高清| y97精品国产97久久久久久| 97视频色精品| 人人爽久久涩噜噜噜网站| 久久免费视频在线| 国产精品久久久久av| 欧美一区二区三区四区在线| 国产不卡精品视男人的天堂| 精品亚洲一区二区三区四区五区| 国语自产精品视频在线看一大j8| 日本免费久久高清视频| 国产欧美最新羞羞视频在线观看| 91精品国产91久久久久福利| 久久久精品亚洲| 亚洲丝袜一区在线| 亚洲黄色在线看| 欧美色xxxx| 亚洲日韩中文字幕在线播放| 欧美日韩一区二区精品| 日韩小视频网址| 亚洲国产成人在线视频| 精品欧美aⅴ在线网站| 日韩免费av片在线观看| 亚洲欧美国产精品va在线观看| 九九视频这里只有精品| 久久久久国产精品www| 国产精品久久久久久久久免费| 日韩欧美国产激情| 亚洲色图欧美制服丝袜另类第一页| 色综合色综合久久综合频道88| 欧美精品在线免费| 亚洲精品免费一区二区三区| 97久久超碰福利国产精品…| 国产在线98福利播放视频| 欧美精品日韩三级| 992tv成人免费影院| 国产视频久久久久久久| 国产69久久精品成人| 欧美精品一本久久男人的天堂| 久久久久北条麻妃免费看|