C++基礎(chǔ) | C++對C語言的增強(qiáng)

namespace命名空間

C++中的命名空間:

命名空間將全局作用域分成不同的部分

不同命名空間中的標(biāo)識符可以同名而不會發(fā)生沖突

命名空間可以相互嵌套

全局作用域也叫默認(rèn)命名空間

C++命名空間的定義:

namespace name{

...

}

C++命名空間的使用:

使用整個命名空間:using namespace name;

使用命名空間中的變量:using name::variable;

使用默認(rèn)命名空間中的變量:::variable

默認(rèn)情況下可以直接使用默 認(rèn)命名空間中的所有標(biāo)識符

可以嵌套

新增bool類型關(guān)鍵字:

C++中的布爾類型

C++在C語 的基本類型系統(tǒng)之上增加了bool

C++中的bool可取的值只有true和false

理論上bool只占 1個字節(jié),

如果多個bool變量定義在 起,可能會各占1個bit,這取決于編譯器的實(shí)現(xiàn)

true代表真值,編譯器內(nèi)部 1來表 false代表 真值,編譯器內(nèi)部 0來表

bool類型只有true( 0)和false(0)兩個值

C++編譯器會在賦值時將 1值轉(zhuǎn)換為true,0值轉(zhuǎn)換為false

三目運(yùn)算符的增強(qiáng):


#include <iostream>

using namespace std;

int main(void)

{

int a=3,b=5;

(a<b?a:b)=4;

cout<<a<<endl;

cout<<b<<endl;

return 0;

}

作為左值可以這么寫。

運(yùn)算結(jié)果:a=4,b=5

const增強(qiáng):

合理的利用const的好處:

1指針做函數(shù)參數(shù),可以有效的提高代碼可讀性,減少bug;

2清楚的分清參數(shù)的輸入和輸出特性


#include <iostream>

int main(void)

{

//const 定義常量---> const 意味只讀

const int a;

int const b;

//第一個第二個是一樣的

const int *c;

//第三個 c是一個指向常整形數(shù)的指針(所指向的內(nèi)存數(shù)據(jù)不能被修改,但是本身可以修改)

int * const d;

//第四個 d 常指針(指針變量不能被修改,但是它所指向內(nèi)存空間可以被修改)

const int * const e ;

//第五個 e 個指向常整形的常指針(指針和它所指向的內(nèi)存空間,均不能被修改)

return 0;

}

#define a 1 

const int a=1 //這是a在常量區(qū)

C++中的const修飾的,是一個真正的常量,而不是C中變量(只讀)。在const修飾的常量編譯期間,就已經(jīng)確定下來了, define是在預(yù)處理階段,相當(dāng)于文本替換

枚舉


enum name {

a,

b,

c

}

a默認(rèn)值是0,若a=1,則b=2,c=3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容