0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++封装:this指针

如意 来源:CSDN 作者:cherrydreamsover 2020-06-29 14:37 次阅读

this指针

特性

(1)this指针的类型:类类型* const。

(2)this指针并不是对象本身的一部分,不影响sizeof的结果。

(3)this是一个指针,它时时刻刻指向对象的实例。

(4)this指针的作用域在类成员函数的内部(不严谨)。

(5)this指针是类成员函数的第一个默认隐含参数,编译器自动维护传递。

(6)只有类的非静态成员函数中才可以使用this指针,其它成员函数都不可以。

_thiscall调用约定

(1)_thiscall只能够在类的成员函数上;

(2)参数从右向左压栈;

(3)如果参数个数确定,this指针通过ecx传给被调用者。如果参数不确定,this指针在所有参数被压栈后压入堆栈;

(4)参数个数不定的,调用者清理堆栈,否则函数自己清理堆栈。

this指针是否为空?

C++封装:this指针

当将空的this传给test函数时,test没有调用任何函数,因此执行此函数,没有报错;

当把空的this传给change函数时,通过this指针调用this-》name,由于this是空的,因此会出错。

总结:

(1)NULL对象指针可以调用成员函数;

(2)通过对象调用成员函数,对象的指针会被传入函数中,指针名称为this;

(3)NULL对象指针调用成员函数时,只要不访问此对象的成员变量,则程序正常运行;

(4)NULL对象指针调用成员函数时,一旦访问此对象的成员变量,则程序崩溃。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 封装
    +关注

    关注

    126

    文章

    7752

    浏览量

    142667
  • 指针
    +关注

    关注

    1

    文章

    478

    浏览量

    70499
  • C++
    C++
    +关注

    关注

    21

    文章

    2104

    浏览量

    73469
  • this
    +关注

    关注

    0

    文章

    5

    浏览量

    3252
收藏 人收藏

    评论

    相关推荐

    浅谈C/C++里的指针

    指针CC++中的难点和重点。指针C的灵魂。我不想重复大多数书上说得很清楚的东西,只是把我看过的书中说得不清楚或没有说,而我又觉得我理解
    发表于 06-28 10:21 391次阅读

    MATLAB代码转c++封装dll供labview调用

    MATLAB可以通过指针读取buffer里面的图像吗,最近涉及MATLAB与labview混合编程,需要将MATLAB代码转成c++封装成dll。其中MATLAB代码部分卡在了不知道如何通过
    发表于 06-11 11:28

    请问STM32 C++底层封装怎么实现?

    DMA和中断为什么使用指针?请问STM32 C++底层封装怎么实现?
    发表于 11-22 06:08

    C指针_CC++经典著作

    C指针_CC++经典著作,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-16 18:32 0次下载

    C++实验--指针

    C++实验--指针
    发表于 12-30 14:50 1次下载

    C++指针”学习建议

    C++指针”学习建议
    发表于 03-31 15:53 3次下载

    为什么使用指针C++中的“指针

    为什么使用指针?因为在操作大型数据和类时,指针可以通过内存地址直接访问数据,可避免在程序中复制大量的代码,因此指针的效率最高。一般来说,指针会有3大用途
    的头像 发表于 10-04 10:33 5099次阅读

    如何从C转向C++ Effective C++ PDF中文版教材免费下载

    对每个人来说,习惯 C++需要一些时间,对于已经熟悉C 的程序员来说,这个过程尤其令人苦恼。因为CC++的子集,所有的C 的技术都可以继
    发表于 01-10 16:48 0次下载

    C++程序设计教程之指针的详细资料说明

    本文档详细介绍的是C++程序设计教程之指针的详细资料说明主要内容包括了:1. 指针的概念,2. 变量与指针,3. 数组与指针,4. 字符串与
    发表于 03-14 16:04 7次下载
    <b class='flag-5'>C++</b>程序设计教程之<b class='flag-5'>指针</b>的详细资料说明

    C++指针的学习建议

     一。对于众多人提出的c/c++指针难学的问题做个总结:
    发表于 11-07 17:13 8次下载
    <b class='flag-5'>C++</b><b class='flag-5'>指针</b>的学习建议

    CC++经典著作《C指针

    CC++经典著作《C指针
    发表于 01-17 09:46 0次下载

    C++中有函数指针还需要std::function嘛

    C/C++中可以使用指针指向一段代码,这个指针就叫函数指针,假设有这样一段代码:
    的头像 发表于 02-15 14:13 480次阅读
    <b class='flag-5'>C++</b>中有函数<b class='flag-5'>指针</b>还需要std::function嘛

    C++的引用和指针

    之前的文章我们已经介绍了C++中的基本类型如int,bool和double等,除了基本类型C++还有一些更复杂的数据类型复合类型,所谓的复合类型就是通过其他类型定义的类型,本篇文章我们将会着重介绍C++的复合类型引用和
    的头像 发表于 03-17 14:00 602次阅读

    C语言 / C++基础面试知识大集合

    点击上方名片关注我们C语言和C++相关的面试题一直比较少见一些,没有Java方向写的人那么多,这是一篇C语言与C++面试知识点总结的文章,非常难得。const作用修饰变量,说明该变量不
    的头像 发表于 05-26 10:38 824次阅读
    <b class='flag-5'>C</b>语言 / <b class='flag-5'>C++</b>基础面试知识大集合

    C++智能指针的底层实现原理

    C++智能指针的头文件: #include 1. shared_ptr: 智能指针从本质上来说是一个模板类,用类实现对指针对象的管理。 template class shared_pt
    的头像 发表于 11-09 14:32 698次阅读
    <b class='flag-5'>C++</b>智能<b class='flag-5'>指针</b>的底层实现原理