
C++-this指针-常方法
发布日期:2021-05-04 18:21:59
浏览次数:25
分类:技术文章
本文共 1015 字,大约阅读时间需要 3 分钟。
文章目录
1. this指针
1.1 this指针特性
- this指针的类型:类类型* const
- 只能在“成员函数”的内部使用
- this指针本质上其实是一个成员函数的形参,是对象调用成员函数,将对象的地址作为实参传递给this形参,所以对象中不存储this指针
- this指针是成员函数第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传递的,不需要用户传递
- this->m_data = data或者写成(*this).m_data都是可以的
- this指针代表了当前对象的地址,一般情况下可以不用写this
- this指针存放在栈区,this指针不会为空
1.2 用法
class Test{public: void setName(char* name) { strcpy(this->name,name); //this->name = name; } void setAge(short age) { this->age = age; } char* showName() { return this->name; } short showAge() { return age; }//protected:private: char name[20]; short age;};int main(){ Test t; t.setAge(20); t.setName("lixin"); char* arr; arr = t.showName(); cout << t.showAge() << endl; cout << arr << endl; return 0;}
1.3 面试题
1.this指针存在哪里?
void SetDate (Test* const this, int data)
在计算机中实际的成员函数是这样的,但是this这个指针的这个参数是隐藏的,不需要编程人员去写,也只是通过this指针才能识别不同对象调用相同的方法
2.this指针可以为空吗? 不可以,因为只有在类的成员函数中才存在this指针,而成员函数能调用肯定this指针也就不为空。2. 常方法
2.1 写法
void setName(const char* name)
在常方法中,是不能修改值的,因此如果函数是不需要修改变量的值的情况下,最好加const。this指针其实就是使用了常方法进行定义的。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月04日 18时34分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxSqlite3类库的使用感受 - 关于乱码的问题
2019-03-03
天涯人脉通讯录 - 设计草图
2019-03-03
★★★男女朋友价格计算器V1.6 - 看看你的朋友值多少钱 :-)
2019-03-03
wxWidgets 最新版2.8.11,终于放出来了
2019-03-03
报表模板更新 - 代码统计工具 - 最新版3.4.1.1 放出
2019-03-03
linux使用yum安装软件报错
2019-03-03
python学习09:暂停一秒后再输出
2019-03-03
python学习12:水仙花
2019-03-03
4、Mysql 主从复制报错[ERROR] [MY-013117] 踩坑
2019-03-03
6、ShardingSphere 之 读写分离
2019-03-03
3 项目范围管理
2019-03-03
布隆过滤器
2019-03-03
C++ STL
2019-03-03
拓扑排序
2019-03-03
解方程
2019-03-03
中缀转后缀 逆波兰表达式求值
2019-03-03
练习赛 位运算 思维 思维
2019-03-03
Netty 粘包 拆包 | 史上最全解读
2019-03-03
ByteBuf(秒懂)- 图解Netty系列
2019-03-03