91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中this指針的用法

發布時間:2021-08-19 14:05:15 來源:億速云 閱讀:140 作者:chen 欄目:開發技術

本篇內容介紹了“C++中this指針的用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

目錄
  • 前言

  • 一、this指針是個什么東東,重要嗎?

  • 二、案例理解

    • 主要的用途


前言

今天,碼神像一個新車手一樣,嘗試著用模板來更新一下,不要建議哦,畢竟沒有放棄愛情的拓海也不是真正的車神,哈哈,發車了

一、this指針是個什么東東,重要嗎?

首先,我以碼神的名義起誓,this指針絕對重要,尤其是對于c++這個面向對象編程的語言來說!

有的碼手可能要說了:你說重要就重要?那我還說不重要呢?

這個么,空口無憑,我現在來舉一個例子:

我們知道對于一個類來說,要有很多工作要做,其中類的成員函數可以訪問類的數據(限定符只是限定于類外的一些操作,類內的一切對于成員函數來說都是透明的),那么成員函數如何知道哪個對象的數據成員要被操作呢,這時c++中的this指針就應用而生了

注:

每個對象都擁有一個指針:this指針,通過this指針來訪問自己的地址。this指針不是對象的一部分,故sizeof不會體現出this指針的大小,this指針的類型取決于使用this指針的成員函數類型以及對象類型。

C++中this指針的用法

二、案例理解

代碼如下(示例):

#include<iostream>
using namespace std;
class Person
{
public:
	Person(int age)
	{
		this->age=age;
		//this指針指向被調用的成員函數所屬的對象
	}
	int age;
	//int m_Age;
	void PersonAddAge(Person &p)
	{
		this->age += p.age;
		//this指向篇的指針,而*this指向的是篇這個本體
		return *this;
	}
}
//解決名稱沖突
void text01()
{
	Person p1(18);
	cout<<"p1age:"<<p1.age<<endl;
}
//返回對象本身用*this
void text02()
{
	Person p1(10);
	Person p2(10);
	p2.PersonAddAge(p1);
	cout<<"p2的age:"<<p2.age<<endl;//20
	p2.PersonAddAge(p1).PersonAddAge(p1);
	cout<<"p2的age:"<<p2.age<<endl;//30
	//鏈式編程思想
}
int main()
{
	text01();
	text02();
	return 0;
}

主要的用途

當形參和成員變量同名時,可用this指針來區分

在類的非靜態成員函數中返回對象本身,可使用return *this

總結 通過上面我們知道在C++中成員變量和成員函數是分開存儲的每一個非靜態成員函數只會誕生一份函數實例,也就是說多個同類型的對象會共用一塊代碼c++通過提供特殊的對象指針,this指針,解決上述問題。this指針指向被調用的成員函數所屬的對象this指針是隱含每一個非靜態成員函數內的一種指針this指針不需要定義,直接使用即可

最后:this指針指向被調用的成員函數所屬的對象

“C++中this指針的用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

高青县| 灵台县| 隆安县| 申扎县| 当雄县| 凤山县| 泗阳县| 岳阳县| 锦州市| 黄平县| 汪清县| 荔波县| 老河口市| 称多县| 姜堰市| 尉氏县| 克拉玛依市| 资源县| 天峨县| 平江县| 清新县| 双流县| 雅江县| 靖边县| 吴桥县| 元朗区| 贞丰县| 茂名市| 民县| 高阳县| 那曲县| 界首市| 成安县| 澄城县| 江北区| 方山县| 甘孜县| 奎屯市| 平潭县| 新和县| 木兰县|