正文
1. 問題的提出:要求函數(shù)返回對象時(shí),可以返回引用么?
一旦程序員理解了按值傳遞有可能存在效率問題之后(Item 20),許多人都成了十字軍戰(zhàn)士,決心清除所有隱藏的按值傳遞所引起的開銷。對純凈的按引用傳遞(不需要額外的構(gòu)造或者析構(gòu))的追求絲毫沒有懈怠,但他們的始終如一會產(chǎn)生致命的錯(cuò)誤:它們開始傳遞指向并不存在的對象的引用。這可不是好事情。
考慮表示有理數(shù)的一個(gè)類,它包含將兩個(gè)有理數(shù)相乘的函數(shù)(Item 3):
1 class Rational { 2 3 public: 4 5 Rational(int numerator = 0, // see Item 24 for why this 6 7 int denominator = 1); // ctor isn’t declared explicit 8 9 ...10 11 private:12 13 int n, d; // numerator and denominator14 15 friend16 17 const Rational // see Item 3 for why the18 19 operator*(const Rational& lhs, // return type is const20 21 const Rational& rhs);22 23 };
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
