衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

c++ 之布爾類型和引用的學(xué)習(xí)總結(jié)

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 18:03 ? 次閱讀

一、布爾數(shù)據(jù)類型:

c語(yǔ)言里面我們知道是沒(méi)有布爾數(shù)據(jù)類型的,而在C++中添加了布爾數(shù)據(jù)類型(bool),它的取值是:true或者false(也就是1或者0),在內(nèi)存大小上它占用一個(gè)字節(jié)大小:

1、bool類型只有true(非0)和false(0)兩個(gè)值。

2、C++編譯器會(huì)將非0值轉(zhuǎn)換為true,0值轉(zhuǎn)換為false。

#include <stdio.h>

int main(int argc, char *argv[])

bool b = false;

int a = b;

printf("sizeof(b) = %d", sizeof(b));

printf("b = %d, a = %d", b, a);

b = 3;

a = b;

printf("b = %d, a = %d", b, a);

b = -5;

a = b;

printf("b = %d, a = %d", b, a);

a = 10;

b = a;

printf("a = %d, b = %d", a, b);

a = 0;

b = a;

printf("a = %d, b = %d", a, b);

return 0;

演示結(jié)果:

root@txp:/home/txp# ./a.out

sizeof(b) = 1

b = 0, a = 0

b = 1, a = 1

b = 1, a = 1

a = 10, b = 1

a = 0, b = 0

2、C++中的三目運(yùn)算符:

對(duì)三目運(yùn)算符,想必大家都再熟悉不過(guò)了,不過(guò)在c++中的三目運(yùn)算符的用法就比c語(yǔ)言更加高級(jí)了,來(lái)先看一個(gè)示例:

int a = 1;

int b = 2;

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

printf("a=%d,b=%d",a,b);

上面的三目運(yùn)算符語(yǔ)句看起來(lái)怎么有點(diǎn)奇怪,它作為左值了,一般在c語(yǔ)言里面它應(yīng)該是作為右值賦值給一個(gè)變量的,那這樣寫(xiě)在c++中有沒(méi)有錯(cuò)誤,答案肯定是沒(méi)有錯(cuò)的,我們還是來(lái)看一下這種寫(xiě)法在c語(yǔ)言中報(bào)了啥錯(cuò)誤:

root@txp:/home/txp# gcc test.c

test.c: In function ‘main’:

test.c:7:21: error: lvalue required as left operand of assignment

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

這里我們可以發(fā)現(xiàn)它不能做為左值來(lái)對(duì)它進(jìn)行賦值,而我們?cè)赾++編譯器里面來(lái)編譯,很明顯它是沒(méi)有錯(cuò)誤的,行的通,那我們?cè)賮?lái)修改一下:

#include <stdio.h>

int main(void)

int a = 1;

int b = 2;

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

printf("a=%d,b=%d",a,b);

編譯結(jié)果(這個(gè)錯(cuò)誤和在c語(yǔ)言里面一樣,注意這里我是在C++編譯器里面編譯,只是把三目運(yùn)算符里面修改了一下。):

root@txp:/home/txp# g++ test1.cpp

test1.cpp: In function ‘int main()’:

test1.cpp:7:23: error: lvalue required as left operand of assignment

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

小結(jié):

1、c語(yǔ)言里面的三目運(yùn)算符返回的是變量值,它不能作為左值來(lái)使用。

2、c++中的三目運(yùn)算符可以直接返回變量本身,既可以作為右值使用,也可以作為左值來(lái)使用。

3、c++中的三目運(yùn)算符可能返回的值中如果有一個(gè)是常量值,則不能作為左值進(jìn)行使用,這點(diǎn)要切記和理解。

二、C++中的引用:

1、引用的概念:

--引用可以看作一個(gè)已定義變量的別名

--引用的語(yǔ)法:Type &name = var;這里舉個(gè)簡(jiǎn)單的示例:

int a =4;

int& b =a; //b為a的別名

b = 5;//操作b就是操作a

--注意普通引用在定義時(shí)必須用同類型的變量進(jìn)行初始化。

下面是demo演示:

#include <stdio.h>

int main(int argc, char *argv[])

int a = 4;

int& b = a;

b = 5;

printf("a = %d", a);

printf("b = %d", b);

printf("&a = %p", &a);

printf("&b = %p", &b);

return 0;

演示結(jié)果:

root@txp:/home/txp# ./a.out

a = 5

b = 5

&a = 0x7fff408ffdec

&b = 0x7fff408ffdec

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 可編程邏輯
    +關(guān)注

    關(guān)注

    7

    文章

    517

    瀏覽量

    44182
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73859
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    卡諾圖與布爾代數(shù)的聯(lián)系

    )、NOT(非)等,這些運(yùn)算符可以組合起來(lái)表示復(fù)雜的邏輯關(guān)系。 布爾代數(shù)的規(guī)則包括: 交換律:A AND B = B AND A;A OR B = B OR A 結(jié)合律:(A AND B) AND C = A
    的頭像 發(fā)表于 01-14 17:15 ?323次閱讀

    Spire.XLS for C++組件說(shuō)明

    Spire.XLS for C++ 是一款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應(yīng)用程序中。Spire.XLS for C++ 提供了一個(gè)對(duì)象模型 Excel
    的頭像 發(fā)表于 01-14 09:40 ?148次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說(shuō)明

    運(yùn)動(dòng)控制卡周期上報(bào)實(shí)時(shí)數(shù)據(jù)IO狀態(tài)C++

    使用C++進(jìn)行運(yùn)動(dòng)控制卡的周期上報(bào)功能實(shí)現(xiàn)
    的頭像 發(fā)表于 12-17 13:59 ?344次閱讀
    運(yùn)動(dòng)控制卡周期上報(bào)實(shí)時(shí)數(shù)據(jù)IO狀態(tài)<b class='flag-5'>之</b><b class='flag-5'>C++</b>篇

    同樣是函數(shù),在CC++中有什么區(qū)別

    同樣是函數(shù),在 CC++ 中有什么區(qū)別? 第一個(gè)返回值。 C語(yǔ)言的函數(shù)可以不寫(xiě)返回值類型,編譯器會(huì)默認(rèn)為返回 int。 但是 C++
    的頭像 發(fā)表于 11-29 10:25 ?434次閱讀

    C7000 C/C++優(yōu)化指南用戶手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優(yōu)化指南用戶手冊(cè)

    TMS320C6000優(yōu)化C/C++編譯器v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000優(yōu)化C/C++編譯器v8.3.x.pdf》資料免費(fèi)下載
    發(fā)表于 11-01 09:35 ?0次下載
    TMS320<b class='flag-5'>C</b>6000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

    C語(yǔ)言和C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語(yǔ)言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?356次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-倉(cāng)頡基礎(chǔ)數(shù)據(jù)類型布爾類型

    布爾類型使用Bool 表示,用來(lái)表示邏輯中的真和假。 布爾類型字面量 布爾類型只有兩個(gè)字面量:t
    發(fā)表于 09-09 09:57

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺(jué)得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開(kāi)發(fā)的使用習(xí)慣與推理方式。與OpenCV的Mat對(duì)象對(duì)接方式更是幾乎無(wú)縫對(duì)接,非常的方便好用。
    的頭像 發(fā)表于 07-26 09:20 ?1057次閱讀

    C++語(yǔ)言基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《C++語(yǔ)言基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?7次下載

    C++中實(shí)現(xiàn)類似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開(kāi)始學(xué)習(xí)C++,有時(shí)候會(huì)面臨一個(gè)常見(jiàn)問(wèn)題,就是如何向下轉(zhuǎn)型,特別是不知道具體類型的時(shí)候,這個(gè)時(shí)候就希望C++
    的頭像 發(fā)表于 07-18 10:16 ?673次閱讀
    <b class='flag-5'>C++</b>中實(shí)現(xiàn)類似instanceof的方法

    鴻蒙OS開(kāi)發(fā)實(shí)例:【Native C++

    使用DevEco Studio創(chuàng)建一個(gè)Native C++應(yīng)用。應(yīng)用采用Native C++模板,實(shí)現(xiàn)使用NAPI調(diào)用C標(biāo)準(zhǔn)庫(kù)的功能。使用C標(biāo)準(zhǔn)庫(kù)hypot接口計(jì)算兩個(gè)給定數(shù)平方和的平
    的頭像 發(fā)表于 04-14 11:43 ?2765次閱讀
    鴻蒙OS開(kāi)發(fā)實(shí)例:【Native <b class='flag-5'>C++</b>】

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    在前兩篇博客中,我們?向您介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客中,我們將仔細(xì)研究以 C++ 中?for?循環(huán)為中心的特定規(guī)則。
    的頭像 發(fā)表于 03-28 13:53 ?861次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤
    威尼斯人娱乐场注册| 大发888官网客户端| 三亚百家乐官网的玩法技巧和规则| 总统娱乐城| 大三元百家乐的玩法技巧和规则| 女神百家乐官网的玩法技巧和规则| 百家乐官网游戏策略| 大发888线上娱乐21点| 百家乐六合彩| 百家乐官网科学| 读书| 沈阳娱乐棋牌网| 威尼斯人娱乐城骗子| 线上百家乐代理| 24山分别指什么| 菲律宾百家乐官网娱乐场| 手机| 安阳县| 罗平县| 海港城娱乐城| 新利娱乐开户| ceo娱乐城信誉| 太阳城现金| 百家乐打水论坛| 百家乐赌博赌博平台| 太阳城百家乐红利| 太阳城百家乐赌博害人| 百家乐娱乐城7| 百家乐官网用品| 博彩百家乐官网五2013124预测| 赌场百家乐官网欺诈方法| 百家乐官网园会员注册| 巨鹿县| 衡山县| 百家乐官网视频裸聊| 漳浦县| 百家乐官网玩法皇冠现金网| 百家乐官网玩法及细则| 百家乐官网规则博彩正网| 澳门百家乐官网真人娱乐城 | 大发888娱乐城主页|