一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - 帶你了解C++this指針的用法及其深究

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

2021-12-20 15:06秋名山碼神 C/C++

這篇文章主要介紹了C++中this指針的用法,對(duì)初學(xué)者而言是非常重要的概念,必須加以熟練掌握,需要的朋友可以參考下,希望能給你帶來幫助

前言

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

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

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

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

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

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

注:

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

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

二、案例理解

代碼如下(示例):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#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)骄幊趟枷?/code>
}
int main()
{
    text01();
    text02();
    return 0;
}

主要的用途

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

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

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

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

總結(jié)

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

原文鏈接:https://blog.csdn.net/weixin_45920495/article/details/119791355

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品丝袜在线一区波多野结衣 | 国产一级免费片 | 国内精品91久久久久 | 国产麻豆在线观看网站 | 99久久精品免费看国产情侣 | 亚洲第9页 | 91亚洲精品国产自在现线 | 236宅宅2021最新理论 | 精品视频日本 | 精品国产午夜久久久久九九 | www.久久艹| 亚洲精品m在线观看 | 99一区二区三区 | 国产成人精品一区二三区在线观看 | 国内老司机精品视频在线播出 | 欧美牛逼aa | 喷奶水榨乳ova动漫无修 | 日日操免费视频 | 小鸟酱视频在线观看 | 国产小情侣自拍 | 99九九成人免费视频精品 | 国产精品福利短视在线播放频 | 美女黄a| 丝袜足控免费网站xx动漫漫画 | 青苹果乐园影院免费观看完整版 | 欧美最猛性xxxxx短视频 | 出差被灌醉绝伦的上司日本 | 俺去啦最新 | a级亚洲片精品久久久久久久 | 日本免费看 | 欧美日本一区视频免费 | 男同桌扒开女同桌胸罩喝奶 | 亚洲成人一区二区 | 日本高清va不卡视频在线观看 | 成人国产精品一区二区不卡 | 国产成人高清精品免费5388密 | 乌克兰肛交影视 | 天天色踪合| 四虎永久在线精品国产馆v视影院 | 果冻传媒林予曦图片 | 办公室里被迫高h |