亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

帶你了解C++this指針的用法及其深究

 更新時(shí)間:2021年08月19日 11:51:38   作者:秋名山碼神  
這篇文章主要介紹了C++中this指針的用法,對(duì)初學(xué)者而言是非常重要的概念,必須加以熟練掌握,需要的朋友可以參考下,希望能給你帶來(lái)幫助

前言

今天,碼神像一個(gè)新車手一樣,嘗試著用模板來(lái)更新一下,不要建議哦,畢竟沒(méi)有放棄愛(ài)情的拓海也不是真正的車神,哈哈,發(fā)車了

一、this指針是個(gè)什么東東,重要嗎?

首先,我以碼神的名義起誓,this指針絕對(duì)重要,尤其是對(duì)于c++這個(gè)面向?qū)ο缶幊痰恼Z(yǔ)言來(lái)說(shuō)!

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

這個(gè)么,空口無(wú)憑,我現(xiàn)在來(lái)舉一個(gè)例子:

我們知道對(duì)于一個(gè)類來(lái)說(shuō),要有很多工作要做,其中類的成員函數(shù)可以訪問(wèn)類的數(shù)據(jù)(限定符只是限定于類外的一些操作,類內(nèi)的一切對(duì)于成員函數(shù)來(lái)說(shuō)都是透明的),那么成員函數(shù)如何知道哪個(gè)對(duì)象的數(shù)據(jù)成員要被操作呢,這時(shí)c++中的this指針就應(yīng)用而生了

注:

每個(gè)對(duì)象都擁有一個(gè)指針:this指針,通過(guò)this指針來(lái)訪問(wèn)自己的地址。this指針不是對(duì)象的一部分,故sizeof不會(huì)體現(xiàn)出this指針的大小,this指針的類型取決于使用this指針的成員函數(shù)類型以及對(duì)象類型。

請(qǐng)?zhí)砑訄D片描述

二、案例理解

代碼如下(示例):

#include<iostream>
using namespace std;
class Person
{
public:
	Person(int age)
	{
		this->age=age;
		//this指針指向被調(diào)用的成員函數(shù)所屬的對(duì)象
	}
	int age;
	//int m_Age;
	void PersonAddAge(Person &p)
	{
		this->age += p.age;
		//this指向篇的指針,而*this指向的是篇這個(gè)本體
		return *this;
	}
}
//解決名稱沖突
void text01()
{
	Person p1(18);
	cout<<"p1age:"<<p1.age<<endl;
}
//返回對(duì)象本身用*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
	//鏈?zhǔn)骄幊趟枷?
}
int main()
{
	text01();
	text02();
	return 0;
}

主要的用途

當(dāng)形參和成員變量同名時(shí),可用this指針來(lái)區(qū)分

在類的非靜態(tài)成員函數(shù)中返回對(duì)象本身,可使用return *this

總結(jié) 通過(guò)上面我們知道在C++中成員變量和成員函數(shù)是分開(kāi)存儲(chǔ)的每一個(gè)非靜態(tài)成員函數(shù)只會(huì)誕生一份函數(shù)實(shí)例,也就是說(shuō)多個(gè)同類型的對(duì)象會(huì)共用一塊代碼c++通過(guò)提供特殊的對(duì)象指針,this指針,解決上述問(wèn)題。this指針指向被調(diào)用的成員函數(shù)所屬的對(duì)象this指針是隱含每一個(gè)非靜態(tài)成員函數(shù)內(nèi)的一種指針this指針不需要定義,直接使用即可

最后:this指針指向被調(diào)用的成員函數(shù)所屬的對(duì)象

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)數(shù)字雨效果

    C語(yǔ)言實(shí)現(xiàn)數(shù)字雨效果

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)字雨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • C++實(shí)踐排序函數(shù)模板項(xiàng)目的參考方法

    C++實(shí)踐排序函數(shù)模板項(xiàng)目的參考方法

    今天小編就為大家分享一篇關(guān)于C++實(shí)踐排序函數(shù)模板項(xiàng)目的參考方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • C語(yǔ)言?程序的編譯系統(tǒng)解析

    C語(yǔ)言?程序的編譯系統(tǒng)解析

    編譯程序的基本功能是把源程序(高級(jí)語(yǔ)言)翻譯成目標(biāo)程序。但是,作為一個(gè)具有實(shí)際應(yīng)用價(jià)值的編譯系統(tǒng),除了基本功能之外,還應(yīng)具備語(yǔ)法檢查、調(diào)試措施、修改手段、覆蓋處理、目標(biāo)程序優(yōu)化、不同語(yǔ)言合用以及人-機(jī)聯(lián)系等重要功能
    2022-02-02
  • C++?QT實(shí)現(xiàn)文件壓縮和解壓縮操作

    C++?QT實(shí)現(xiàn)文件壓縮和解壓縮操作

    這篇文章主要為大家詳細(xì)介紹了C++?QT如何實(shí)現(xiàn)壓縮文件、文件夾和解壓縮的操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2022-11-11
  • C++ push_back()函數(shù)使用詳解

    C++ push_back()函數(shù)使用詳解

    這篇文章主要介紹了C++ push_back()函數(shù)使用詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • C語(yǔ)言基礎(chǔ)之格式化輸出控制長(zhǎng)度

    C語(yǔ)言基礎(chǔ)之格式化輸出控制長(zhǎng)度

    這篇文章主要介紹了C語(yǔ)言基礎(chǔ)之格式化輸出控制長(zhǎng)度的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Qt編寫地圖之實(shí)現(xiàn)跨平臺(tái)功能

    Qt編寫地圖之實(shí)現(xiàn)跨平臺(tái)功能

    這篇文章主要介紹了如何利用Qt編寫地圖應(yīng)用時(shí)實(shí)現(xiàn)跨平臺(tái)功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-02-02
  • C++特性之智能指針shared_ptr詳解

    C++特性之智能指針shared_ptr詳解

    shared_ptr是C++11提供的一種智能指針類,它足夠智能,可以在任何地方都不使用時(shí)自動(dòng)刪除相關(guān)指針,從而幫助徹底消除內(nèi)存泄漏和懸空指針的問(wèn)題。本文主要是來(lái)和大家聊聊shared_ptr的使用,需要的可以參考一下
    2022-12-12
  • C語(yǔ)言實(shí)現(xiàn)ATM自動(dòng)取款機(jī)系統(tǒng)的示例代碼

    C語(yǔ)言實(shí)現(xiàn)ATM自動(dòng)取款機(jī)系統(tǒng)的示例代碼

    ATM自動(dòng)取款機(jī)系統(tǒng)是銀行業(yè)務(wù)流程中十分重要且必備的環(huán)節(jié)之一,在銀行業(yè)務(wù)流程中起著承上啟下的作用。本文將用C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的ATM自動(dòng)取款機(jī)系統(tǒng),需要的可以參考一下
    2022-08-08
  • 五個(gè)經(jīng)典鏈表OJ題帶你進(jìn)階C++鏈表篇

    五個(gè)經(jīng)典鏈表OJ題帶你進(jìn)階C++鏈表篇

    做題之前呢,小編想提醒下大家,要三思而后行,不要一上來(lái)就嘎嘎敲代碼,要先學(xué)會(huì)自己畫圖分析,把自己的思路捋清楚,不要到時(shí)候?qū)懘a五分鐘,調(diào)試兩小時(shí),記住,編程思路很重要
    2022-03-03

最新評(píng)論