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

首頁 > 編程 > C++ > 正文

深度理解c++中的this指針

2020-05-23 14:02:18
字體:
來源:轉載
供稿:網友

1.this指針,就是一個指向當前對象的指針。我們知道,定義出一個類,它在內存中是不占空間的,只有定義了該類類型的對象時,系統就會為該對象分配一段存儲空間,這段空間里只存儲成員變量,對于成員函數,是存放在代碼區的。(復習:內存分為5大區:靜態區、常量區、棧、堆、代碼區)。下邊給出一個日期類,通過這個實例,深度理解this指針。

#define _CRT_SECURE_NO_WARNINGS 1#includeusing namespace std;class Date {public:	void setYear(int year)	{		m_year = year;	}	void setMonth(int month)	{		m_month = month;	}	void setDay(int day)	{		m_day = day;	}	void print()	{		cout << m_year << "-" << m_month << "-" << m_day << endl;	}private:	int m_year;	int m_month;	int m_day;};int main(){	Date date;	date.setYear(2016);	date.setMonth(7);	date.setDay(4);	date.print();	system("pause");	return 0;}

 

2.參數里的this指針一般不需要寫,系統會隱式將對象的首地址傳給函數,但是如果要寫,函數調用的時候也需要寫上對象的地址,函數體中的this并不是在所有情況都可以省略,比如:(仍然使用上邊的日期類)

void setYear(int m_year)
{
        this->m_year = m_year;
}

在這種情況下出現了重名,函數體的this必須寫,當然有一定基礎的程序員才不會這么寫呢。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥江县| 徐闻县| 麦盖提县| 乐平市| 永善县| 玉田县| 全州县| 信丰县| 如东县| 合作市| 玉树县| 成安县| 得荣县| 名山县| 荔波县| 长顺县| 本溪市| 克东县| 崇礼县| 喀喇| 玉山县| 安达市| 天全县| 大港区| 永靖县| 玛沁县| 马边| 平罗县| 宁安市| 灵寿县| 蓝田县| 嘉义县| 永和县| 本溪市| 麻城市| 惠安县| 西丰县| 农安县| 汾西县| 西贡区| 武邑县|