国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

第三十九課:逗號(hào)操作符的分析----------狄泰軟件學(xué)院

2019-11-14 12:18:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、逗號(hào)操作符(,)可以構(gòu)造逗號(hào)表達(dá)式

1.逗號(hào)操作符可以用于將多個(gè)子表達(dá)式連接為一個(gè)表達(dá)式 2.逗號(hào)表達(dá)式的值為最后一個(gè)子表達(dá)式的值 3.逗號(hào)表達(dá)式的前N-1個(gè)子表達(dá)式可以沒(méi)有返回值 4.逗號(hào)表達(dá)式按照從左往右的順序計(jì)算每個(gè)子表達(dá)式的值

#include <iostream>#include <string>using namespace std;void func(int i){ cout << "func() : i = " << i << endl;}int main(){ int a[3][3] = { (0, 1, 2), (3, 4, 5), (6, 7, 8) };//注意用了括號(hào),所以最終只有2,5,8用來(lái)初始化前三個(gè) int i = 0; int j = 0; while( i < 5 ) func(i), i++;//不會(huì)死循環(huán) for(i=0; i<3; i++) { for(j=0; j<3; j++) { cout << a[i][j] << endl; } } (i, j) = 6;//最后相當(dāng)于給j賦值 cout << "i = " << i << endl; cout << "j = " << j << endl; return 0;}輸出結(jié)果func() : i = 0func() : i = 1func() : i = 2func() : i = 3func() : i = 4258000000i = 3j = 6

二、重載逗號(hào)操作符

1.在c++中重載逗號(hào)操作符是合法的 2.使用全局函數(shù)對(duì)逗號(hào)操作符進(jìn)行重載 3.重載函數(shù)的參數(shù)必須有一個(gè)是類類型 4.重載函數(shù)的返回值類型必須是引用

class Operator , (const class& a, const class& b){ return const_cast<class&>(b);//注意返回的是最后的參數(shù)}#include <iostream>#include <string>using namespace std;class Test{ int mValue;public: Test(int i) { mValue = i; } int value() { return mValue; }};Test& operator , (const Test& a, const Test& b){ return const_cast<Test&>(b);}Test func(Test& i){ cout << "func() : i = " << i.value() << endl; return i;}int main(){ Test t0(0); Test t1(1); Test tt = (func(t0), func(t1));// operator , (func(t0),func(t1))參數(shù)的計(jì)算順序不確定 cout << tt.value() << endl; // 1 return 0;}輸出結(jié)果:func() : i = 1func() : i = 01但若把逗號(hào)操作符重載函數(shù)去掉則會(huì)得到正確結(jié)果

問(wèn)題的本質(zhì)分析:

1.c++通過(guò)函數(shù)調(diào)用擴(kuò)展操作符的功能 2.進(jìn)入函數(shù)體前必須完成所有參數(shù)的計(jì)算 3.函數(shù)參數(shù)的計(jì)算次序是不定的 4.重載后無(wú)法嚴(yán)格從左向右計(jì)算表達(dá)式

注意:工程中無(wú)需重載逗號(hào)操作符

小結(jié):

1.逗號(hào)表達(dá)式從左往右順序計(jì)算每個(gè)子表達(dá)式的值 2.逗號(hào)表達(dá)式的值為最后一個(gè)子表達(dá)式的值 3.操作符重載無(wú)法完全實(shí)現(xiàn)逗號(hào)操作符的原生語(yǔ)義 4.工程開(kāi)發(fā)中不要重載逗號(hào)操作符


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 农安县| 阳春市| 大石桥市| 昔阳县| 乐平市| 南和县| 环江| 平南县| 绥棱县| 郴州市| 兴宁市| 鲜城| 哈巴河县| 岳阳县| 资源县| 临武县| 尚志市| 昌图县| 淮安市| 班玛县| 平果县| 葵青区| 东阳市| 吉木萨尔县| 象山县| 芦山县| 莫力| 依兰县| 太原市| 新龙县| 太白县| 北安市| 田东县| 博兴县| 潢川县| 宜丰县| 青海省| 牟定县| 屏东市| 沐川县| 个旧市|