小編給大家分享一下C++ 布爾類型和引用的用法案例,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

C++中的布爾類型
C++在C語(yǔ)言的基本類型系統(tǒng)之上增加了
boolC++中的
bool可取的值只有true和false理論上
bool之占用一個(gè)字節(jié)注意:
true代表真值,編譯器內(nèi)部用1來(lái)表示
false代表非真值, 編譯器內(nèi)部用0來(lái)表示C語(yǔ)言中:
用整型值來(lái)代替
bool類型,常用0:flase, 1:true
C++做了類型增強(qiáng),增加了一個(gè)非常嚴(yán)謹(jǐn)?shù)?code>bool類型,true和false作為關(guān)鍵字存在。
在C++的布爾類型中,bool類型只有true和false兩個(gè)值,C++編譯器會(huì)將非0值轉(zhuǎn)換為true, 0值轉(zhuǎn)換為false。
bool b = 0;
printf("b = %d\n", b);
b++;
printf("b = %d\n", b);
b = b - 3;
printf("b = %d\n", b);
// bool類型是否支持?jǐn)?shù)學(xué)運(yùn)算?其實(shí)在C++語(yǔ)言中,布爾類型的內(nèi)部實(shí)現(xiàn)是用一個(gè)字節(jié)的整型來(lái)實(shí)現(xiàn)的,bool類型支持?jǐn)?shù)學(xué)運(yùn)算,編譯器會(huì)在內(nèi)部進(jìn)行調(diào)整,非0為true,0 為 false代碼試驗(yàn):
#include <stdio.h>
int main(int argc, char *argv[])
{
bool b = false;
int a = b;
printf("sizeof(b) = %d\n", sizeof(b));
// sizeof(b) = 1, bool類型占一個(gè)字節(jié)
printf("b = %d, a = %d\n", b, a); 0
// b = 0, a = 0
b = 3; // b = 1
a = b; // a = 1
printf("b = %d, a = %d\n", b, a);
b = -5; // b = 1
a = b; // a = 1
printf("b = %d, a = %d\n", b, a);
a = 10; // a = 10
b = a; // b = 1
printf("a = %d, b = %d\n", a, b);
a = 0; // a = 0
b = a; // b = 0
printf("a = %d, b = %d\n", a, b);
return 0;
}2、三目運(yùn)算符布爾類型是C++中的基本數(shù)據(jù)類型
可以定義
bool類型的全局變量可以定義
bool類型的常量可以定義
bool類型的指針可以定義
bool類型的數(shù)組......
C++中對(duì)三目運(yùn)算符進(jìn)行了升級(jí)
考慮下列代碼是否正確,分別在C語(yǔ)言和C++環(huán)境中編譯運(yùn)行試驗(yàn)
int a = 1;
int b =2;
(a < b ? a : b) = 3;
printf("a = %d, b = %d\n", a, b);
// 在C語(yǔ)言中報(bào)錯(cuò)
// 在C++中,結(jié)果a = 3三目運(yùn)算符
C語(yǔ)言中的三目運(yùn)算符返回的是變量值
不能作為左值使用
C++中的三目運(yùn)算符可以直接返回變量本身
既可以作為右值使用,又可以作為左值使用
注意:
三目運(yùn)算符可能返回的值中如果有一個(gè)是常量值,則不能作為左值使用
三目運(yùn)算符只有在所有的可能返回都是變量的時(shí)候才能作為左值使用,一個(gè)常量一個(gè)變量就不能作為左值使用
C++對(duì)三目運(yùn)算符進(jìn)行了這樣的升級(jí),意義何在?
三目運(yùn)算符所有的可能返回都是變量的時(shí)候,返回的就是變量本身,由此引出了新概念:引用
3、引用3.1 變量名變量是一段實(shí)際連續(xù)存儲(chǔ)空間的別名,程序中通過(guò)變量來(lái)申請(qǐng)并命名存儲(chǔ)空間,通過(guò)變量的名字可以使用存儲(chǔ)空間。
問(wèn)題:一段連續(xù)的存儲(chǔ)空間只能有一個(gè)別名嗎?
4、小結(jié)C++中的引用
在C++中增加了引用的概念
int a = 4; int& b = a; // b作為a的別名 b = 5; // 操作b就是操作a
引用可以看作一個(gè)已定義變量的別名
引用的語(yǔ)法:
Type& name = var;注意:
普通引用在定義時(shí)必須用同類型的變量進(jìn)行初始化。
C++對(duì)三目運(yùn)算符做了些啥?
int a = 1; int b = 2; (a < b ? a : b) = 3; // ok,返回a或b的引用,可作為左值 (a < b ? 1 : b) = 4; // err,返回1或b的值,不能作為左值
當(dāng)三目運(yùn)算符的可能返回都是變量時(shí),返回的是變量引用
當(dāng)三目運(yùn)算符的可能返回中有常量時(shí),返回的是值
bool類型是C++新增加的基礎(chǔ)類型
bool類型的值只能是true和falseC++中的三目運(yùn)算符可作為左值使用
C++中的引用可以看作變量的別名來(lái)使用
三目運(yùn)算符的可能返回都是變量時(shí),返回的是引用
看完了這篇文章,相信你對(duì)C++ 布爾類型和引用的用法案例有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱:C++布爾類型和引用的用法案例-創(chuàng)新互聯(lián)
鏈接地址:http://www.chinadenli.net/article32/dhdosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、ChatGPT、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容