c++ this指针常见知识点
来源:互联网 发布:软件开发述职报告 编辑:程序博客网 时间:2024/06/06 07:42
this指针是一个很神奇的东西,一个指向对象本身的指针。
首先最大的疑问是你在成员函数的形参上没有定义this指针,它是哪来的。其次它怎么能指向对象本身,它占空间吗?它的生命周期多长?下面总结一下答案
(1)this指针是一个被编译器隐藏起来的函数参数,每个成员函数默认第一个参数为T *const this(可以看看python类的成员函数,就要手动写this)
(2)this在成员函数开始前执行构造,在成员结束后清除。若采用new创建对象,在堆里分配内存,new操作符通过eax返回分配的地址,然后给指针变量。之后调用构造函数,将这个内存块地址给ecx,ecx寄存器存放this指针(自右向左入栈)
(3)this指针的存放不占用对象空间,只会在参数传递时占用栈空间或寄存器
(4)this指针只在成员函数内有定义,&this可以获得其位置
阅读全文
0 0
- c++ this指针常见知识点
- 【C/C++】this指针
- C语言常见知识点
- c/c++常见知识点
- c语言 常见知识点
- C++this指针、智能指针
- 【C++】this 指针
- C++this指针
- C++this指针
- C++this指针
- C++this指针
- C++this指针
- c++this指针
- C++this指针
- C++this指针
- C++this指针(二)
- C++-this指针
- c++this指针
- Linux 习题4
- Java 8中HashMap冲突解决
- 字符识别(OCR)相关工具/库/教材/论文等资源整理
- mybatis的批量插入
- #盼望着,盼望着,优惠券来了,双十一的脚步近了……
- c++ this指针常见知识点
- ssh 远程控制
- vue 组件 之 注册 及 组件内data的使用
- 大家好,给大家介绍一下,这是AI
- 最富有的软件工程师
- typedef void (*Fun) () 的理解——函数指针
- 从url中下载文件
- java的override和overload详解
- hdu2955