总结9:this 指针

编程入门 行业动态 更新时间:2024-10-26 22:17:25

总结9:this <a href=https://www.elefans.com/category/jswz/34/1768268.html style=指针"/>

总结9:this 指针


本文PDF下载站点: .git


1. 基本用法

C++类对象中 成员变量 成员函数 是分开存储的 :

  • 普通成员变量:存储于对象中,与 struct 变量有相同的内存布局和字节对齐方式
  • 静态成员变量:存储于全局数据区中
  • 成员函数 :存储于代码段中
  • C++中类的 普通成员函数 都隐式包含一个指向当前对象的this指针, 而 静态函数 没有 !!!
class Person{
public:Person():age(25){}~Person(){}int get_age() const{	// 编译器为我们自动转为: get_age(const Person* const pThis) return this->age; }private:int age;
};void function(){Person p; cout << p.get_age() << endl;	// 编译器为我们自动转为 p.get_age(&p)
}

2. const 修饰类的成员函数

  • const 修饰的是 this 指针所指向的内存空间, 修饰的是this指针
class Person{
int a;
public:const void Fun1() { /*****/ }void const Fun2() { /*****/ }void Fun3(int a) const{ // 以上三种效果一样。一般采用这种写法! 编译器自动转为:void Fun3(const Person* const pThis, int a)this->a = 100;      // 不可修改(编译器报错)this = 0x11111;     // 不可修改 (编译器报错) }  	
};

C++编译器自动隐式转为: void Fun3(int a) const -------> void Fun3(const Person* const pThis, int a)


写文不易 且行且珍惜
MrWang

更多推荐

总结9:this 指针

本文发布于:2024-02-11 17:46:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1682398.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:指针

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!