最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文總結(jié)C++運(yùn)算符的使用方法

 更新時(shí)間:2023年05月11日 11:12:26   作者:機(jī)器學(xué)習(xí)Zero  
這篇文章主要為大家詳細(xì)總結(jié)了C++中運(yùn)算符的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1. 算術(shù)運(yùn)算符

算術(shù)運(yùn)算符用于執(zhí)行基本數(shù)學(xué)運(yùn)算,例如加減乘除和取模等操作。下表列出了C++中支持的算術(shù)運(yùn)算符:

運(yùn)算符描述示例
+加法a+ ++b
減法a-b
乘法a∗ *∗b
/除法a/ //b
取模ab

其中,a和b代表要進(jìn)行計(jì)算的兩個(gè)變量或值。

(1)加法運(yùn)算符

加法運(yùn)算符(+)用于將兩個(gè)值相加。如果兩個(gè)操作數(shù)都是數(shù)字,則它們將被相加。如果其中一個(gè)操作數(shù)是字符串,則它們將被連接起來(lái)。

e.g.

int a = 5;
int b = 3;
int c = a + b; // c的值為8
std::string str1 = "Hello, ";
std::string str2 = "world!";
std::string str3 = str1 + str2; // str3的值為"Hello, world!"

(2)減法運(yùn)算符

減法運(yùn)算符(-)用于將第一個(gè)操作數(shù)減去第二個(gè)操作數(shù)。

e.g.

int a = 5;
int b = 3;
int c = a - b; // c的值為2

(3)乘法運(yùn)算符

乘法運(yùn)算符(*)用于將兩個(gè)數(shù)相乘。

e.g.

int a = 5;
int b = 3;
int c = a * b; // c的值為15

注意,C++中整數(shù)除法返回整數(shù)結(jié)果,即舍去小數(shù)部分。

(5)取模運(yùn)算符

取模運(yùn)算符(%)返回除法的余數(shù)。

e.g.

int a = 7;
int b = 3;
int c = a % b; // c的值為1

2. 關(guān)系運(yùn)算符

關(guān)系運(yùn)算符用于比較兩個(gè)值并返回布爾值(true或false)。下表列出了C++中支持的關(guān)系運(yùn)算符:

運(yùn)算符描述示例
==相等a == b
!=不相等a != b
>大于a > b
>=大于等于a >= b
<=小于等于a <= b

其中,a和b代表要進(jìn)行比較的兩個(gè)變量或值。

(1)相等和不相等運(yùn)算符

相等運(yùn)算符(==)用于比較兩個(gè)值是否相等。如果它們相等,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a == b); // c的值為false

不相等運(yùn)算符(!=)用于比較兩個(gè)值是否不相等。如果它們不相等,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a != b); // c的值為true

(2)大于和小于運(yùn)算符

大于運(yùn)算符(>)用于比較第一個(gè)操作數(shù)是否大于第二個(gè)操作數(shù)。如果是,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a > b); // c的值為true

小于運(yùn)算符(<)用于比較第一個(gè)操作數(shù)是否小于第二個(gè)操作數(shù)。如果是,則返回true,否則返回false。

e.g

int a = 5;
int b = 3;
bool c = (a < b); // c的值為false

(3)大于等于和小于等于運(yùn)算符

大于等于運(yùn)算符(>=)用于比較第一個(gè)操作數(shù)是否大于或等于第二個(gè)操作數(shù)。如果是,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a >= b); // c的值為true

小于等于運(yùn)算符(<=)用于比較第一個(gè)操作數(shù)是否小于或等于第二個(gè)操作數(shù)。如果是,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a <= b); // c的值為false

3. 邏輯運(yùn)算符

邏輯運(yùn)算符用于執(zhí)行布爾邏輯操作。下表列出了C++中支持的邏輯運(yùn)算符:

運(yùn)算符描述示例
&&邏輯與a && b
||邏輯或a
!邏輯非!a

 

其中,a和b代表要進(jìn)行邏輯運(yùn)算的兩個(gè)布爾值。

(1)邏輯與運(yùn)算符

邏輯與運(yùn)算符(&&)用于檢查兩個(gè)條件是否都為真。只有當(dāng)兩個(gè)條件都為真時(shí),才會(huì)返回true,否則返回false。

e.g.

bool a = true;
bool b = false;
bool c = (a && b); // c的值為false

(3)邏輯非運(yùn)算符

邏輯非運(yùn)算符(!)用于翻轉(zhuǎn)一個(gè)布爾值。如果輸入為true,則返回false,否則返回true。

e.g.

bool a = true;
bool b = !a; // b的值為false

4. 按位運(yùn)算符

按位運(yùn)算符用于操作二進(jìn)制數(shù)據(jù)。下表列出了C++中支持的按位運(yùn)算符:

運(yùn)算符描述示例
&按位與a & b
|按位或a
^按位異或a ^ b
~取反~a
<<左移a << b
>>右移a >> b

其中,a和b代表要進(jìn)行按位運(yùn)算的兩個(gè)整數(shù)。

(1)按位與運(yùn)算符

按位與運(yùn)算符(&)將兩個(gè)二進(jìn)制數(shù)的每一位進(jìn)行比較,并且如果兩位都為1,則該位輸出1,否則輸出0。

e.g.

int a = 5; // 二進(jìn)制表示為101
int b = 3; // 二進(jìn)制表示為011
int c = a & b; // c的值為1,二進(jìn)制表示為001

(2)按位或運(yùn)算符

按位或運(yùn)算符(|)將兩個(gè)二進(jìn)制數(shù)的每一位進(jìn)行比較,并且如果任意一位為1,則該位輸出1,否則輸出0。

e.g.

int a = 5; // 二進(jìn)制表示為101
int b = 3; // 二進(jìn)制表示為011
int c = a \| b; // c的值為7,二進(jìn)制表示為111

(3)按位異或運(yùn)算符

按位異或運(yùn)算符將兩個(gè)整數(shù)的二進(jìn)制表示進(jìn)行“異或”操作,并返回一個(gè)新的整數(shù)。當(dāng)兩個(gè)比特位相同時(shí),該比特位結(jié)果為 0,否則為 1。

e.g.

int a = 5; // 二進(jìn)制 101
int b = 3; // 二進(jìn)制 011
int c = a ^ b; // 二進(jìn)制 110 (即十進(jìn)制 6)

(4)按位取反運(yùn)算符

按位取反運(yùn)算符對(duì)整數(shù)的二進(jìn)制表示進(jìn)行取反操作,并返回一個(gè)新的整數(shù)。當(dāng)一個(gè)比特位為 0 時(shí),結(jié)果為 1,否則為 0。

e.g

int a = 5; // 二進(jìn)制 101
int b = ~a; // 二進(jìn)制 010 (即十進(jìn)制 2)

(5)左移位運(yùn)算符

左移位運(yùn)算符將一個(gè)整數(shù)的二進(jìn)制表示向左移動(dòng)指定的位數(shù),并返回一個(gè)新的整數(shù)。左移 n 位相當(dāng)于將這個(gè)數(shù)乘以 2 的 n 次方。

e.g.

int a = 5; // 二進(jìn)制 101
int b = a << 1; // 二進(jìn)制 1010 (即十進(jìn)制 10)

(6)右移位運(yùn)算符

右移位運(yùn)算符將一個(gè)整數(shù)的二進(jìn)制表示向右移動(dòng)指定的位數(shù),并返回一個(gè)新的整數(shù)。右移 n 位相當(dāng)于將這個(gè)數(shù)除以 2 的 n 次方。

e.g.

int a = 5; // 二進(jìn)制 101
int b = a >> 1; // 二進(jìn)制 10 (即十進(jìn)制 2)

5. 取地址運(yùn)算符

C++中,取地址運(yùn)算符用于獲取變量或?qū)ο蟮膬?nèi)存地址,表示為&,并且可以應(yīng)用于任何變量、指針或?qū)ο?。使用取地址運(yùn)算符可以在程序中有效地管理內(nèi)存和數(shù)據(jù)結(jié)構(gòu)。

取地址運(yùn)算符的一般語(yǔ)法如下:

&variable // 獲取變量的地址

&object // 獲取對(duì)象的地址

&type // 獲取類型的地址

其中,“variable”表示要獲取地址的變量,“object”表示要獲取地址的對(duì)象,“type”表示要獲取地址的類型。

e.g.

int a = 10;
int* ptr = &a; // 使用取地址運(yùn)算符獲取變量a的地址,并將其存儲(chǔ)在指針ptr中

cout << "The value of a is: " << a << endl;
cout << "The address of a is: " << &a << endl;
cout << "The value of ptr is: " << ptr << endl;
cout << "The value pointed to by ptr is: " << *ptr << endl;

上述代碼首先定義一個(gè)整數(shù)變量“a”,然后使用取地址運(yùn)算符&獲取它的地址,并將其存儲(chǔ)在指針“ptr”中。接下來(lái)打印出變量“a”的值和地址、指針“ptr”的值以及指針?biāo)赶虻闹怠?/p>

輸出結(jié)果應(yīng)該與以下內(nèi)容類似:

The value of a is: 10
The address of a is: 0x7fff5fbff7dc
The value of ptr is: 0x7fff5fbff7dc
The value pointed to by ptr is: 10

從輸出結(jié)果可以看出,變量“a”的地址與指針“ptr”的值相同,并且指針?biāo)赶虻闹蹬c變量“a”的值相同。

6. 取內(nèi)容運(yùn)算符

在C++中,取內(nèi)容運(yùn)算符用于獲取指針?biāo)赶虻闹担硎緸?code>*,并且可以應(yīng)用于任何指針變量。

取內(nèi)容運(yùn)算符的一般語(yǔ)法如下:

*pointer // 獲取指針?biāo)赶虻闹?

其中,“pointer”表示要獲取值的指針變量。

e.g.

int a = 10;
int* ptr = &a; // 使用取地址運(yùn)算符獲取變量a的地址,并將其存儲(chǔ)在指針ptr中

cout << "The value of a is: " << a << endl;
cout << "The value pointed to by ptr is: " << *ptr << endl;

上述代碼首先定義一個(gè)整數(shù)變量“a”,然后使用取地址運(yùn)算符&獲取它的地址,并將其存儲(chǔ)在指針“ptr”中。接下來(lái)打印出變量“a”的值和指針“ptr”所指向的值。

輸出:

The value of a is: 10
The value pointed to by ptr is: 10

從輸出結(jié)果可以看出,指針“ptr”所指向的值與變量“a”的值相同。

7. 成員選擇符

在C++中,成員選擇符用于訪問(wèn)類的成員變量和成員函數(shù)。它表示為.(點(diǎn)號(hào)),并且可以應(yīng)用于任何已定義的對(duì)象。使用成員選擇符可以操作和修改對(duì)象的成員,從而實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>

成員選擇符的一般語(yǔ)法如下:

object.member // 訪問(wèn)成員變量或成員函數(shù)

其中,“object”表示要訪問(wèn)成員的對(duì)象,“member”表示要訪問(wèn)的成員變量或成員函數(shù)。

e.g.

class MyClass {
public:
  int myVar;
  void myFunc() {
    cout << "Hello, world!" << endl;
  }
};

MyClass obj; // 創(chuàng)建MyClass對(duì)象

obj.myVar = 42; // 使用成員選擇符訪問(wèn)myVar成員變量
cout << "The value of myVar is: " << obj.myVar << endl;

obj.myFunc(); // 使用成員選擇符調(diào)用myFunc成員函數(shù)

上述代碼首先定義了一個(gè)名為“MyClass”的類,該類包含一個(gè)整數(shù)類型的成員變量“myVar”和一個(gè)無(wú)參數(shù)無(wú)返回值的成員函數(shù)“myFunc”。接下來(lái)創(chuàng)建了一個(gè)名為“obj”的MyClass對(duì)象,并使用成員選擇符訪問(wèn)其成員變量和成員函數(shù)。

輸出:

The value of myVar is: 42
Hello, world!

從輸出結(jié)果可以看出,我們成功地使用成員選擇符訪問(wèn)了MyClass對(duì)象的成員變量和成員函數(shù)。

成員選擇符 -> 用于訪問(wèn)結(jié)構(gòu)體和類指針?biāo)赶虻某蓡T。它通常與動(dòng)態(tài)內(nèi)存分配函數(shù) new 結(jié)合使用,來(lái)創(chuàng)建對(duì)象并進(jìn)行操作。

e.g.

struct Person {
    std::string name;
    int age;
};

int main() {
    // 創(chuàng)建Person結(jié)構(gòu)體指針p
    Person *p = new Person();

    // 通過(guò)成員選擇符->訪問(wèn)p所指向的name成員變量
    p->name = "John";

    // 通過(guò)成員選擇符->訪問(wèn)p所指向的age成員變量
    p->age = 30;

    delete p;
    return 0;
}

上述代碼在動(dòng)態(tài)內(nèi)存中分配了一個(gè)新的Person結(jié)構(gòu)體,并將其作為指針p進(jìn)行訪問(wèn)。然后使用成員選擇符 -> 訪問(wèn)指針p所指向的name和age成員。

需要注意的是,當(dāng)使用普通對(duì)象(即不是指針)時(shí),必須使用句點(diǎn) . 而不是 -> 來(lái)訪問(wèn)成員。

8. 作用域運(yùn)算符

C++的作用域運(yùn)算符 :: 用于訪問(wèn)類、命名空間、結(jié)構(gòu)體或枚舉類型中的成員,以及訪問(wèn)全局變量和函數(shù)。

C++可以使用作用域運(yùn)算符來(lái)區(qū)分同名的成員或變量,并指定需要訪問(wèn)的特定成員或變量。例如,當(dāng)一個(gè)類的成員與它的父類具有相同的名稱時(shí),我們可以使用作用域運(yùn)算符來(lái)訪問(wèn)這個(gè)類所定義的成員,而不是其父類中的成員。此外,在多個(gè)源文件中實(shí)現(xiàn)相同的函數(shù)時(shí),可以使用作用域運(yùn)算符來(lái)分隔全局命名空間和局部命名空間。

e.g. 訪問(wèn)類的成員

class A {
public:
    int x;
};

class B : public A {
public:
    int x;
};

int main() {
    B b;
    b.A::x = 5; // 訪問(wèn)A類中的x成員
    b.x = 10;   // 訪問(wèn)B類中的x成員

    return 0;
}

e.g. 訪問(wèn)命名空間中的變量或函數(shù):

namespace MyNamespace {
    int x = 5;

    void printX() {
        std::cout << "x = " << x << std::endl;
    }
}

int main() {
    MyNamespace::printX(); // 訪問(wèn)MyNamespace中的printX函數(shù)
    std::cout << "MyNamespace::x = " << MyNamespace::x << std::endl; // 訪問(wèn)MyNamespace中的x變量

    return 0;
}

e.g. 訪問(wèn)全局變量:

int x = 10;

int main() {
    int x = 5;
    std::cout << "局部變量x = " << x << std::endl;

    std::cout << "全局變量x = " << ::x << std::endl; // 訪問(wèn)全局命名
}

以上就是一文總結(jié)C++運(yùn)算符的使用方法的詳細(xì)內(nèi)容,更多關(guān)于C++ 運(yùn)算符的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++使用ffmpeg實(shí)現(xiàn)rtsp取流的代碼

    C++使用ffmpeg實(shí)現(xiàn)rtsp取流的代碼

    這篇文章主要介紹了C++使用ffmpeg實(shí)現(xiàn)rtsp取流,文章介紹了ffmepg采用rtsp取流流程圖,CMakeLists.txt編寫方法,通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象

    OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象

    這篇文章主要為大家詳細(xì)介紹了OpenCV如何使用BackgroundSubstractor(BSM)實(shí)現(xiàn)視頻中移動(dòng)對(duì)象統(tǒng)計(jì)功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-02-02
  • C 語(yǔ)言指針變量詳細(xì)介紹

    C 語(yǔ)言指針變量詳細(xì)介紹

    本文主要介紹C 語(yǔ)言指針變量,這里詳細(xì)介紹了 C語(yǔ)言中指針變量的用法,并附代碼示例及指針變量指向關(guān)系圖幫助大家理解指針,有學(xué)習(xí)C語(yǔ)言指針的朋友可以參考下
    2016-08-08
  • C++實(shí)現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù))

    C++實(shí)現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 全排列算法的原理和實(shí)現(xiàn)代碼

    全排列算法的原理和實(shí)現(xiàn)代碼

    這篇文章主要介紹了全排列算法的原理和實(shí)現(xiàn)代碼,全排列是將一組數(shù)按一定順序進(jìn)行排列,如果這組數(shù)有n個(gè),那么全排列數(shù)為n!個(gè),需要的朋友可以參考下
    2014-08-08
  • C++拷貝構(gòu)造函數(shù)(深拷貝與淺拷貝)詳解

    C++拷貝構(gòu)造函數(shù)(深拷貝與淺拷貝)詳解

    深拷貝和淺拷貝可以簡(jiǎn)單理解為:如果一個(gè)類擁有資源,當(dāng)這個(gè)類的對(duì)象發(fā)生復(fù)制過(guò)程的時(shí)候,資源重新分配,這個(gè)過(guò)程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝
    2013-09-09
  • 使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能

    使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能

    QCustomPlot是一個(gè)小型的Qt畫圖標(biāo)類,支持繪制靜態(tài)曲線、動(dòng)態(tài)曲線、多重坐標(biāo)曲線,柱狀圖,蠟燭圖,這篇文章主要介紹了Qt的QChartView實(shí)現(xiàn)縮放和放大功能,需要的朋友可以參考下
    2022-09-09
  • c語(yǔ)言實(shí)現(xiàn)找最大值最小值位置查找

    c語(yǔ)言實(shí)現(xiàn)找最大值最小值位置查找

    這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)找最大值最小值位置查找,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • C語(yǔ)言中volatile關(guān)鍵字的深入講解

    C語(yǔ)言中volatile關(guān)鍵字的深入講解

    在程序設(shè)計(jì)中,尤其是在C語(yǔ)言、C++、C#和Java語(yǔ)言中,使用volatile關(guān)鍵字聲明的變量或?qū)ο笸ǔ>哂信c優(yōu)化、多線程相關(guān)的特殊屬性,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言volatile關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • c++帶有string的結(jié)構(gòu)體賦值和清零問(wèn)題

    c++帶有string的結(jié)構(gòu)體賦值和清零問(wèn)題

    這篇文章主要介紹了c++帶有string的結(jié)構(gòu)體賦值和清零問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

嘉鱼县| 嘉义县| 陆丰市| 萨嘎县| 乌审旗| 页游| 神木县| 玉溪市| 昌乐县| 西城区| 博白县| 长武县| 保康县| 冷水江市| 郎溪县| 平江县| 凯里市| 乡宁县| 衡阳县| 堆龙德庆县| 高邮市| 昌邑市| 夏津县| 德江县| 钟祥市| 东乡县| 公安县| 淅川县| 土默特右旗| 靖江市| 阳新县| 临洮县| 尼木县| 阿鲁科尔沁旗| 普陀区| 玛纳斯县| 客服| 邵东县| 晋中市| 甘谷县| 锡林郭勒盟|