c++的this指针

一时失言乱红尘 2022-09-20 09:09 283阅读 0赞

c++的对象里有一个指针一直指向他自己,这个指针就是this指针,这个指针是在类的成员函数内部隐式调用的。可以认为在类调用成员函数的时候,编译器会自动的在参数列表的最后一个位置加上一个指针,比如类名叫做 A,那么这个指针就是A *const this指针。是一个常量指针,但是指向非常量的对象,如果是一个常量对象的话,就不可以了,这意味着我们不可以把一个this指针指向一个常量的对象,如何解决这个问题,就需要我们把this指针声明成为一个指向常量的常量指针。

怎么声明呢?就需要我们在成员函数的参数列表的后边添加一个const关键字,这样子传递给函数的就是一个指向常量的常量指针,这样子,在函数内部所有试图改变对象的操作都是非法的,编译器都会报错,所以,以后任何不希望更改对象的函数,都声明成为const函数。

发表评论

表情:
评论列表 (有 0 条评论,283人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++ this指针

    this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 所谓当前对象,是指正在使用的对象。例如对于stu.sho

    相关 C++ this 指针

    C++ this 指针 在 C++ 中,每一个对象都能通过 `this` 指针来访问自己的地址。`this` 指针是所有成员函数的隐含参数。在成员函数内部,它可以用来指向

    相关 c++this指针

    c++的对象里有一个指针一直指向他自己,这个指针就是this指针,这个指针是在类的成员函数内部隐式调用的。可以认为在类调用成员函数的时候,编译器会自动的在参数列表的最后一个位置

    相关 c++ this 指针

    1. this指针的用处:   一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非

    相关 C++——this指针

     一 this指针的使用(成员函数中) 当通过一个对象调用成员函数时,编译器会把当前对象的地址传递给this指针;(this指针保存的是当前对象的地址) //thi

    相关 C++中this指针

    this指针作为一个隐含参数传递给非静态成员函数,用以指向该成员函数所属类所定义的对象。当不同的对象调用同一个类的成员函数代码时,编译器会依据该成员函数的this指针所指向的不