C语言中,如何将指向this的指针改写为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2101个文字,预计阅读时间需要9分钟。
1. this 指针的作用: - 一个对象的 this 指针并非指向对象本身的一部分,不会影响 sizeof(对象) 的结果。 - this 的作用域在类内部,当在类的非静态成员函数中访问类的非静态成员时,会用到 this 指针。
1. this指针的用处:
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。 例如,调用date.SetMonth(9) <===> SetMonth(&date, 9),this帮助完成了这一转换.
2. this指针的使用:
一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用return *this;另外一种情况是当参数与成员变量名相同时,如this->n = n(不能写成n = n)。
3. this指针程序示例:
this指针存在于类的成员函数中,指向被调用函数所在的类实例的地址。
本文共计2101个文字,预计阅读时间需要9分钟。
1. this 指针的作用: - 一个对象的 this 指针并非指向对象本身的一部分,不会影响 sizeof(对象) 的结果。 - this 的作用域在类内部,当在类的非静态成员函数中访问类的非静态成员时,会用到 this 指针。
1. this指针的用处:
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。 例如,调用date.SetMonth(9) <===> SetMonth(&date, 9),this帮助完成了这一转换.
2. this指针的使用:
一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用return *this;另外一种情况是当参数与成员变量名相同时,如this->n = n(不能写成n = n)。
3. this指针程序示例:
this指针存在于类的成员函数中,指向被调用函数所在的类实例的地址。

