使用自指针将值分配给类数据成员时的差异
Difference when assigning values to class data members using self pointer
假设我有一个这样的类:
Class MyClass
{
int myVar1;
int myVar2;
void myMethod();
}
下面的两个值分配有什么区别吗?
void MyClass::myMethod()
{
//VARIABLE ASSIGNMENT
myVar1 = 99;
//USING POINTER TO CLASS
this->myVar2 = 99;
}
有什么用
这>
变量赋值中的指针(除了其他情况,例如通过函数传递类等)?
这是一回事,除非你碰巧在作用域中有两个同名的变量。在这种情况下,您可以使用此>进行区分。
在以下情况下会有所不同:
void MyClass::myMethod(int myVar1)
{
myVar1 = 99; //doesn't change the member
this->myVar1 = 99; //changes the member
}
在您的情况下,没有区别。
没有区别。 有时使用this->
有助于消除歧义,但不是在这里。
相关文章:
- 用于访问容器<T>数据成员的正确 API
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 数据成员SFINAE的C++17测试:gcc vs clang
- 使用 delete [] 运算符取消分配类中数据成员的内存
- 指向未由对象地址初始化的对象的指针如何将值分配给类的数据成员
- "new"不会将内存分配给作为类的数据成员的指针
- 如何在C 中的派生类中分配数据成员数组
- 了解常量引用对非成本数据成员的分配
- 只有当声明一个对象时,内存空间才会分配给类的数据成员,那么为什么 Sizeof(class_name) 给我结果
- 对于数据成员,如果包含对象已在动态内存中,则动态分配此变量(或不动态分配)之间是否有任何区别
- 更适合动态或静态分配复杂的数据成员
- 当类对象完成时,是否为 C++ 类的数据成员动态分配的内存会释放
- 在堆或堆栈上的指针类实例中分配C++非指针数据成员
- 使用自指针将值分配给类数据成员时的差异
- 类构造函数中动态分配的数据成员
- C++ -<Task> 删除堆上分配的任务数组时,将列表 l(或任何 STL 容器)添加为数据成员会导致错误
- 在实现中,继承是来自连续分配的多个层的数据成员
- 为数据成员分配一个新的随机方向,该方向不同于 c++ 中的当前方向
- 在哪里为已初始化的java中的数据成员分配的内存@声明点..
- 赋值运算符是否应为数据成员分配新内存或重用现有内存