程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> effective C++ 讀書筆記 條款10

effective C++ 讀書筆記 條款10

編輯:C++入門知識

effective C++ 讀書筆記 條款10


條款10: 令operator= 返回一個reference to *this;

關於賦值,我們可以這樣寫:

int x,y,x;

x =y = z;

這就是所謂的連續賦值

為了實現“連鎖賦值”賦值操作符必須返回一個reference指向操作符的左側實參。這是我們為class實現賦值操作符時應該遵循的協議:

#include 

using namespace std;

class Widget
{
public:
	Widget()
	{
		cout<<"調用無參構造函數"<


上面說賦值操作符必須返回一個reference,我以前也是認為如果要連續操作,就必須返回引用,但是我用返回一個對象試著運行了一下,

程序也會通過,並且在這個operator= 中還能得到一模一樣的效果:

經過研究發現,並非一定要返回引用,返回值對象時會增加拷貝構造函數和析構函數的調用,所以一般都是返回引用;

#include 

using namespace std;

class Widget
{
public:
	Widget()
	{
		cout<<"調用無參構造函數"<


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved