LED_TypeDef _BSP_LED2;//this指针与this数组staticLED_TypeDef* This_Arr[LED_NUM] = {&_BSP_LED1,&_BSP_LED2};staticLED_TypeDef* mthis;//this指向偏移量(因为外面要用,所以名字不要冲突,最好和bsp对象相关)uint8_tthis_ledx = BSP_LED1_OFFSET; //方法定义voidLightUp(){ mthis = This_Arr[...
也就是说,在同一个对象的上下文中,所有成员函数共享同一个this指针,而这个指针指向的是调用初始成员函数的对象实例。 第二章:this指针的高级应用与优化 在这一章中,我们将深入探讨this指针在 C++ 编程中的高级应用及其在编译器层面的优化。虽然this指针的基本概念相对简单,但在复杂的编程场景中,它的使用可以变得非...
在C 语言中,并没有 “this” 指针这个概念 然而,在 C++ 语言中,“this” 指针是一个特殊的指针,它在类的成员函数中被隐式使用,以指向调用该成员函数的对象。“this” 指针的主要作用如下: 访问调用对象的成员变量:当成员函数需要访问调用对象的成员变量时,可以通过 “this” 指针来实现。 解决名称冲突:当成员...
当对象point1调用MovePoint(2,2)函数时,即将point1对象的地址传递给了this指针。 MovePoint函数的原型应该是 void MovePoint( Point *this, int a, int b);第一个参数是指向该类对象的一个指针,我们在定义成员函数时没看见是因为这个参数在类中是隐含的。这样point1的地址传递给了this,所以在MovePoint函数中便...
从这个简单示例中可以看出,在成员函数内部使用this指针可以准确地访问当前对象的成员变量。 二、this指针的意义和重要性 2.1区分同名变量 在某些情况下,类的成员变量和局部变量可能具有相同的名称,此时可以通过使用this指针来准确定位到类成员。这种情况下,this指针起到了一个重要的标识作用。
this指针作为面向对象中的重要机制,可以指向当前对象自己的属性和方法。在之前的C语言实现面向对象的专栏中,this指针仅仅采用了一个公用的全局变量来存储,这种设计方法不仅在多处理机多线程环境下会产生问题,甚至在单处理机环境下也会导致问题(中断)。举个例子:extern v
在C 语言中,没有类和对象的概念,因此也没有 `this` 指针。`this` 指针是 C++ 中的一个关键字,它表示指向当前对象的指针。然而,如果你想在 C 语言中实现类似于面向对象编程的功能...
this指针 一个类当中,有一个很隐蔽的特殊指针,它就是this指针! 为什么说它特殊?因为只要定义一个类,系统就会预定义个名字叫做this名且指向当前对象的指针。虽然我们看不到但却可以使用它。 比如,我们来看一个时钟类的一个成员函数,用来设置时间传值的代码: ...
再考虑一下C++的this指针,一个类中的成员函数,依据this指针来区分不同的对象,也就是说根据this指针实现了访问不同的对象的成员变量。 这是否也是多态的一种表现?这里所说的多态已经不是那个“父类指针指向子类对象”的教条了,而是体现在同一个类的不同对象之间,调用同一个成员函数,依据参数“this指针”来实现访...
delete this; 正如Stroustrup所说的,“ this”可能是指针的引用,但是在C ++的早期版本中没有引用。如果将“ this”实现为参考,则可以避免上述问题,并且比指针更安全。 以下是使用“ this”指针的情况: 1)当局部变量的名称与成员的名称相同时 输出: