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

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

 更新時間:2016年07月05日 15:27:18   投稿:lqh  
這篇文章主要介紹了C++編程指向成員的指針以及this指針的基本使用指南,與C語言一樣,存儲的數(shù)值被解釋成為內(nèi)存里的一個地址,需要的朋友可以參考下。

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

#define _CRT_SECURE_NO_WARNINGS 1

#include
using 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.參數(shù)里的this指針一般不需要寫,系統(tǒng)會隱式將對象的首地址傳給函數(shù),但是如果要寫,函數(shù)調(diào)用的時候也需要寫上對象的地址,函數(shù)體中的this并不是在所有情況都可以省略,比如:(仍然使用上邊的日期類)

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

在這種情況下出現(xiàn)了重名,函數(shù)體的this必須寫,當(dāng)然有一定基礎(chǔ)的程序員才不會這么寫呢。

相關(guān)文章

  • C語言通過三步翻轉(zhuǎn)法實現(xiàn)單詞倒置詳解

    C語言通過三步翻轉(zhuǎn)法實現(xiàn)單詞倒置詳解

    這篇文章主要為大家分享了用三步翻轉(zhuǎn)法將一句話的單詞進(jìn)行倒置的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-05-05
  • c++ 盡量不要使用#define 而是用const、enum、inline替換。

    c++ 盡量不要使用#define 而是用const、enum、inline替換。

    為什么這么說呢?或許很多程序員已經(jīng)習(xí)慣在文件開始使用大量的#define語句
    2013-01-01
  • 基于C語言實現(xiàn)簡單的掃雷小游戲

    基于C語言實現(xiàn)簡單的掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了基于C語言實現(xiàn)簡單的掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言結(jié)構(gòu)體指針引用詳解

    C語言結(jié)構(gòu)體指針引用詳解

    C語言中結(jié)構(gòu)體指針,可細(xì)分為指向結(jié)構(gòu)體變量的指針和指向結(jié)構(gòu)體數(shù)組的指針。本文將詳細(xì)為大家介紹一下這兩種結(jié)構(gòu)體指針如何引用,需要的小伙伴可以參考一下
    2021-12-12
  • C++圖論之Bellman-Ford算法和SPFA算法的實現(xiàn)

    C++圖論之Bellman-Ford算法和SPFA算法的實現(xiàn)

    貝爾曼-福特算法(Bellman-Ford)是由理查德·貝爾曼和萊斯特·福特創(chuàng)立的,求解單源最短路徑問題的一種算法。SPFA 算法是 Bellman-Ford算法 的隊列優(yōu)化算法的別稱,通常用于求含負(fù)權(quán)邊的單源最短路徑。本文將詳解兩個算法的實現(xiàn),需要的可以參考一下
    2022-06-06
  • C++實現(xiàn)宿舍管理查詢系統(tǒng)

    C++實現(xiàn)宿舍管理查詢系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)宿舍管理查詢系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++中十種內(nèi)部排序算法的比較分析

    C++中十種內(nèi)部排序算法的比較分析

    本文給大家分享的是個人寫的一段對C++中十種內(nèi)部排序算法的比較分析的代碼,主要在于測試10種排序方法的性能,給大家參考下吧。
    2015-03-03
  • C++中VTK9.3.0刻度標(biāo)簽重疊的問題記錄

    C++中VTK9.3.0刻度標(biāo)簽重疊的問題記錄

    這篇文章主要介紹了C++中VTK9.3.0刻度標(biāo)簽重疊的問題,本文采用VTK9.3.0版本,其他版本如VKT8.0亦有同樣的問題,需要的朋友可以參考下
    2024-06-06
  • C語言版三子棋小游戲

    C語言版三子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言版三子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 詳解C++ STL模擬實現(xiàn)forward_list

    詳解C++ STL模擬實現(xiàn)forward_list

    forward_list是C++ 11新增的容器,它支持從容器中的任何位置快速插入和移除元素的容器,不支持快速隨機(jī)訪問。本文將模擬實現(xiàn)forward_list,感興趣的可以了解一下
    2023-01-01

最新評論