色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析C++中this指針的理解以及作用

Q4MP_gh_c472c21 ? 來源:小林coding ? 作者:小林coding ? 2021-06-27 11:24 ? 次閱讀

01

C++程序到C程序的翻譯

想要理解C++語言中的this指針,下面我們做一個(gè)舉例,我們要先把下面的C++代碼轉(zhuǎn)換成C代碼:

f2e45c3c-d6b2-11eb-9e57-12bb97331649.png

(1)大家知道,C語言中沒有類定義class關(guān)鍵詞,但是有跟class類似的定義關(guān)鍵詞,就是struct結(jié)構(gòu)體定義。m_height變量是Tree類的成員變量,那么我們就可以把Tree類和成員變量翻譯成下面的C代碼:

f3178a58-d6b2-11eb-9e57-12bb97331649.png

(2)SetHeight函數(shù)是Tree類的成員函數(shù),但是C程序里面沒有成員函數(shù)這個(gè)概念的,所以只能把成員函數(shù)翻譯成全局的函數(shù):

f3214476-d6b2-11eb-9e57-12bb97331649.png

那為什么還要再加個(gè)this指針呢?我們接著繼續(xù)往下看。(3)接下來把C++中的main函數(shù)翻譯成C程序,是下面這樣的:

f3308c4c-d6b2-11eb-9e57-12bb97331649.png

所以最終把上面的C++程序轉(zhuǎn)變?yōu)镃程序的代碼如下:

f3396024-d6b2-11eb-9e57-12bb97331649.png

加上SetHeignt函數(shù)的第一個(gè)參數(shù)this指針的作用,就是為了給結(jié)構(gòu)體Tree域里的變量賦值。

02

this指針的作用

this指針的作用就是指向成員函數(shù)所作用的對象,所以非靜態(tài)成員函數(shù)中可以直接使用this來代表指向該函數(shù)作用的對象的指針。

03

this指針和靜態(tài)成員函數(shù)

靜態(tài)成員函數(shù)不能使用this指針,因?yàn)殪o態(tài)成員函數(shù)相當(dāng)于是共享的變量,不屬于某個(gè)對象的變量。

04

小結(jié)

(1)通過將C++程序翻譯成C程序的方式,來理解this指針,其作用就是指向非靜態(tài)成員函數(shù)所作用的對象,每個(gè)成員函數(shù)的第一個(gè)參數(shù)實(shí)際上都有個(gè)默認(rèn)this指針參數(shù);(2)靜態(tài)成員函數(shù)無法使用this指針。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4333

    瀏覽量

    62691
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2110

    瀏覽量

    73687
  • C程序
    +關(guān)注

    關(guān)注

    4

    文章

    254

    瀏覽量

    36045

原文標(biāo)題:C++中this指針的理解和作用

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    EE-112:模擬C++的類實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++的類實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類實(shí)現(xiàn)

    C語言指針學(xué)習(xí)筆記

    本文從底層內(nèi)存分析,徹底讓讀者明白C語言指針的本質(zhì)。
    的頭像 發(fā)表于 11-05 17:40 ?248次閱讀
    <b class='flag-5'>C</b>語言<b class='flag-5'>指針</b>學(xué)習(xí)筆記

    C語言和C++結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?247次閱讀

    C語言指針運(yùn)算符詳解

    C語言中,當(dāng)你有一個(gè)指向數(shù)組某個(gè)元素的指針時(shí),你可以對該指針執(zhí)行某些算術(shù)運(yùn)算,例如加法或減法。這些運(yùn)算可以用來遍歷數(shù)組的元素,如ptr
    的頭像 發(fā)表于 10-30 11:16 ?257次閱讀

    ostream在c++的用法

    ostream 是 C++ 標(biāo)準(zhǔn)庫中一個(gè)非常重要的類,它位于 頭文件(實(shí)際上,更常見的是通過包含 頭文件來間接包含 ,因?yàn)?包含了 和 )。 ostream 類及其派生類(如 std::cout
    的頭像 發(fā)表于 09-20 15:11 ?751次閱讀

    面試???1:函數(shù)指針指針函數(shù)、數(shù)組指針指針數(shù)組

    在嵌入式開發(fā)領(lǐng)域,函數(shù)指針指針函數(shù)、數(shù)組指針指針數(shù)組是一些非常重要但又容易混淆的概念。理解它們的特性和應(yīng)用場景,對于提升嵌入式程序的效率
    的頭像 發(fā)表于 08-10 08:11 ?899次閱讀
    面試???1:函數(shù)<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>函數(shù)、數(shù)組<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>數(shù)組

    C++實(shí)現(xiàn)類似instanceof的方法

    函數(shù),可實(shí)際上C++沒有。但是別著急,其實(shí)C++中有兩種簡單的方法可以實(shí)現(xiàn)類似Java的instanceof的功能。 在 C++
    的頭像 發(fā)表于 07-18 10:16 ?607次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>中</b>實(shí)現(xiàn)類似instanceof的方法

    面試的高頻問題:指針函數(shù)與函數(shù)指針,你能完美應(yīng)對嗎?

    一直覺得C語言較其他語言最偉大的地方就是C語言中的指針,有些人認(rèn)為指針很簡單,而有些人認(rèn)為指針很難,當(dāng)然這里的對簡單和難并不是等價(jià)于對
    的頭像 發(fā)表于 06-22 08:11 ?1742次閱讀
    面試<b class='flag-5'>中</b>的高頻問題:<b class='flag-5'>指針</b>函數(shù)與函數(shù)<b class='flag-5'>指針</b>,你能完美應(yīng)對嗎?

    Keil+C51對雙數(shù)據(jù)指針的直接利用

    Keil+C51對雙數(shù)據(jù)指針的直接利用
    發(fā)表于 06-18 10:15 ?0次下載

    鴻蒙OS開發(fā)實(shí)例:【Native C++

    使用DevEco Studio創(chuàng)建一個(gè)Native C++應(yīng)用。應(yīng)用采用Native C++模板,實(shí)現(xiàn)使用NAPI調(diào)用C標(biāo)準(zhǔn)庫的功能。使用C標(biāo)準(zhǔn)庫hypot接口計(jì)算兩個(gè)給定數(shù)平方和的平
    的頭像 發(fā)表于 04-14 11:43 ?2667次閱讀
    鴻蒙OS開發(fā)實(shí)例:【Native <b class='flag-5'>C++</b>】

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    在前兩篇博客,我們?向您介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客,我們將仔細(xì)研究以 C++
    的頭像 發(fā)表于 03-28 13:53 ?815次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    C語言的指針用法

    C語言編程善用指針可以簡化一些任務(wù)的處理,而對于一些任務(wù)(比如動(dòng)態(tài)內(nèi)存分配),必須要有指針才行的。也就是說精通C
    發(fā)表于 03-05 14:22 ?361次閱讀
    <b class='flag-5'>C</b>語言的<b class='flag-5'>指針</b>用法

    怎么理解指針指針?

    怎么理解指針指針?其實(shí)這個(gè)概念并不難,只是把它放到實(shí)際應(yīng)用,容易造成困擾。
    的頭像 發(fā)表于 02-23 16:46 ?1210次閱讀
    怎么<b class='flag-5'>理解</b><b class='flag-5'>指針</b>的<b class='flag-5'>指針</b>?

    c語言,c++,java,python區(qū)別

    操作系統(tǒng)、嵌入式系統(tǒng)等對性能要求較高的場景。C語言的語法相對簡單,學(xué)習(xí)曲線較平緩,也是學(xué)習(xí)其他高級語言的入門語言。 C++C++是在C語言的基礎(chǔ)上進(jìn)行擴(kuò)展和改進(jìn)的一種編程語言。它支
    的頭像 發(fā)表于 02-05 14:11 ?2429次閱讀

    C++簡史:C++是如何開始的

    的 MISRA C++:2023 博客系列的第二部分。 在這篇博客,我們將深入探討 C++ 的歷史、編程語言多年來的發(fā)展歷程以及它的下一步發(fā)展方向。
    的頭像 發(fā)表于 01-11 09:00 ?616次閱讀
    <b class='flag-5'>C++</b>簡史:<b class='flag-5'>C++</b>是如何開始的
    主站蜘蛛池模板: 午夜快车神马影视| 国产99久久亚洲综合精品西瓜tv | 国精产品一区一区三区有限在线| 韩国精品韩国专区久久| 伦理片97影视网| 日本午夜精品一区二区三区电影| 亚洲 制服 欧美 中文字幕| 又黄又粗又爽免费观看| nu77亚洲综合日韩精品| 国产精人妻无码一区麻豆| 久久亚洲AV无码精品午色夜麻豆| 日本动漫henta videos| 亚洲精品一本之道高清乱码| 97伦理97伦理2018最新| 国产精品人妻无码久久久奥特曼| 久久综久久美利坚合众国| 神马老子影院午夜伦| 一本道亚洲区免费观看| 成年人视频在线免费| 久久国语露脸精品国产| 色噜噜噜视频| 中文字幕天堂久久精品| 国产精品午夜小视频观看| 乱爱性全过程免费视频| 小p孩玩成年女性啪啪资源| 18岁末年禁止观看免费1000个| 国产精品96久久久久久AV不卡| 恋孩癖网站大全在线观看| 玄幻全黄h全肉后宫| FREECHINESE东北群交| 久草热8精品视频在线观看| 色宅男看片午夜大片免费看| 57PAO强力打造高清免费| 国产午夜精品一区二区三区| 欧美中文字幕一区二区三区| 曰本老头同性xxxxx| 国产精品久久久久久久人人看| 嫩草影院久久国产精品| 亚洲视频国产在线精品| 国产69精品久久久久人妻刘玥| 美女网站免费看|