this指针

  • 每个成员函数(包括构造和析构)都有一个this指针
  • this指针指向调用对象,即可以通过this关键字访问当前对象的成员
访问成员变量: this->成员名;
访问成员函数: this->函数名();

注意:

  1. this指针的类型为类类型* const(类名*const),为右值。
  2. this指针本身不占用大小 ,它并不是对象的一部分,因此不会影响sizeof的结果。
  3. this的作用域在类成员函数的内部。
  4. this指针是类成员函数的第一个默认隐藏参数,编译器自动维护传递,类编写者不能显示传递。
  5. 只有在类的非静态成员函数中才可以使用this指针,其他任何函数都不可以。
函数的结尾声明为const:函数内部不允许修改对象本身,调用本对象非const方法就会报错。


【C++】this指针相关推荐

  1. MIT 6.s081学习笔记

    MIT 6.s081学习笔记 introduction 计算机组织结构: 最底部是一些硬件资源,包括了CPU,内存,磁盘,网卡 最上层会运行各种应用程序,比如vim,shell等,这些就是正在运行的所 ...

  2. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  3. C++ 笔记(27)— 指针变量、数组和指针、指针数组、数组指针、指针常量与常量指针

    1. 什么是指针变量? 指针变量是专门有一个变量来存放指针. int main(int argc, char *argv[]) {int a = 10;int *p = &a; //通过取地址 ...

  4. Go 学习笔记(71)— Go 接口 interface (接口定义、接口实现、接口调用、值接收者、指针接收者)

    1. 接口的定义 接口是和调用方的一种约定,它是一个高度抽象的类型,不用和具体的实现细节绑定在一起.接口要做的是定义好约定,告诉调用方自己可以做什么,但不用知道它的内部实现,这和我们见到的具体的类型如 ...

  5. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值

    1. 变量声明 要单纯声明一个变量,可以通过 var 关键字,如下所示: var s string 该示例只是声明了一个变量 s,类型为 string,并没有对它进行初始化,所以它的值为 string ...

  6. c/c++中的函数指针和指针函数

    定义 1.指针函数,本质是函数,返回值为指针,形如,int *pfun(int, int),由于"*"的优先级低于"()"的优先级,所以等同于int *(pfu ...

  7. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

  8. 【数据结构】链表中的 指针,地址

    数据结构中跳过集合,直接开始线性结构 线性结构中单链表的操作涉及到给一个变量赋值地址,所以涉及到了指针 通过指针里的地址很方便找到节点 但指针这里绕了我很长时间,不论学了多少遍也不敢说把指针学会了 地 ...

  9. Qt实现 指针式时钟+动态时钟 (详细注释)

    先上效果图: 点击运行后首先是一个指针式时钟窗口,点击Digital Clock->可以跳转到数字时钟窗口,再点击Move Clock->可以还原为指针式时钟窗口 关于整个程序的讲解都在代 ...

  10. 【C语言】数组指针与指针数组的区分与应用

    这里以一道C语言题--输出矩阵两个对角线上的数(二维数组)为例 7-57 输出矩阵两个对角线上的数(二维数组) (6 分) 编写程序,将数据输入一个n * n二维数组中,输出矩阵两个对角线上的数.假设 ...

最新文章

  1. PCL common中常见的基础功能函数
  2. 让植物“张嘴说话”!新加坡“植物机器人”可成为环境探测器促进农业生产...
  3. 网络最大流(SAP)模板
  4. 白话Elasticsearch70-ES生产集群部署之production mode下启动时的bootstrap check
  5. org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 285; cvc-elt.1.a: 找不到元素 ‘beans‘ 的声明。
  6. Spring的事务控制-基于xml方式
  7. 使用C#快速生成顺序GUID
  8. mysql函数和索引冲突问题_Mysql索引常见问题汇总
  9. 关系代数基本运算_关系代数的基本和附加运算
  10. 工作199:获取接口token
  11. py 字典添加多个value_# Python 3 # Python 3字典Dictionary(1)
  12. 5-35 有理数均值 (20分)
  13. 测试与 debug 心得
  14. jquery 动态添加,降低input表单的方法
  15. PHP程序员面临的成长瓶颈
  16. java 成员变量什么时候初始化_Java中成员变量的初始化过程
  17. Life:怎样提高睡眠质量?
  18. IPA包重签企业证书
  19. 人工神经网络实验项目:论文复现
  20. 试题 算法训练 24点 蓝桥杯 Java

热门文章

  1. 深入浅出计算机组成原理学习笔记:总线-计算机内部的高速公路(第42讲)
  2. 【10.4】线程同步--Lock、RLock
  3. Spark SQL 函数全集
  4. 【转】6 Reasons Why JavaScript’s Async/Await Blows Promises Away (Tutorial)
  5. MaxAlertView 强大的弹框试图
  6. BZOJ 3720: Gty的妹子树 [树上size分块]
  7. mysql查询时强制区分大小写
  8. Java实现找出数组中重复次数最多的元素以及个数
  9. oracle更改字段名顺序的方法
  10. ESP8266固件的下载