最新回答 / 凰蒼
你的意思是不能返回對象引用吧,因為函數內部建立的是“臨時對象”,而臨時對象在函數結束后就會被系統回收;引用的特點是將“對象在此函數內值的改變”返回出去并“繼續存在”,“臨時對象”和“對象引用”有沖突。
2018-10-17
最贊回答 / NodiSe
哈哈,要友善一點嘛,直接學c++怎么了引用和指針參數傳遞其實就是abab的原則,地址 a, 對象 b,要么a對a傳遞,要么b對b傳遞,其中a對a傳遞為指針傳遞,傳的是地址。b對b傳遞為對象傳遞,傳的是對象本身。另外b對b傳遞還能用別名,給b取個名字b1,對b1操作從而改變b,因為本質上b1和b是同一個對象建議用指針或者引用,速度比較快<...code...>
2018-10-09
已采納回答 / 慕哥3558660
你這個把兩個后置++放在一條cout語句中輸出,按照C++標準會產生一個未定義的行為。編譯器在處理輸出流的過程是按照自右向左的順序對各輸出項進行求值的。所以先進行((*coor)++).getY()的求值得到3,再進行((*coor)++).getX()的求值得到2,最后按順序輸出2,3。要想得到1,4最好將其分成兩條cout語句來寫。這就和int a = 1; cout << a++ << a++ << endl;得到的結果是2,1的道理是一樣的。
2018-10-08
最新回答 / 空格鍵的自白
不使用引用也是可以的,但是形參輸入函數會在堆棧新開一個區域給參數,對于一般類型的數據可能無所謂但是對于類來說就很龐大了。而且形參如果不是指針和引用是無法修改對象的參數的。
2018-09-27
最贊回答 / qq_謝謝惠顧_2
#include <iostream>using namespace std;class Time{public:?? ?friend void printTime(Time &t);?? ?Time(int hour, int min, int sec)?? ?{?? ??? ?m_iHour = hour;?? ??? ?m_iMinute = min;?? ??? ?m_iSecond = sec;?? ?}private:?? ?int m_iHour;?? ?int m_iM...
2018-09-09