


Что значит это this -> в c++
Читайте работу с указателями до просветления.
_http://cppstudio.com/post/423/
Н-р:
struct A {
int n;
};
int main() {
A a;
a.n=0; // (a -экземпляр структуры A) доступ к элементам структуры осуществляется через точку
A* pa;// указатель на структуру.
pa=&a; // инициализация указателя адресом структуры a;
pa->n=0;// (pa - указатель на экземпляр структуры A) доступ к элементам структуры осуществляется через "стрелку"
//Аналогично
(*pa).n=0;// (указатель разыменовали) доступ к элементам структуры осуществляется через точку
}
Ну а this - указатель на "себя". Есс-но "себя" бывают разные =)
_http://cppstudio.com/post/8712/
this - указатель на текущий экземпляр класса
this - указатель текущего объекта класса. Например:
class alpha
{
public:
void SetX(int x)
{
this->x = x;
}
void SetY(int y)
{
this->y = y;
}
private:
int x, y;
};
при одинаковых именах в член-функции параметрах и член-данных класса можно использовать this. this и так неявно передается при использовании члена-функции или члена-данных, но бывают случаи, когда надо явно указать... Например как в примере...
Пишется в методе класса, конструкторе или деструкторе.
Означает этот самый класс.
Указывает, что символ после -> относится к этому классу.
int a;
class A{
int a;
public:
A(){
this->a = 10;
}
};
типа как то так, быть может по умолчанию будет присвоение для a из класса.
я лично использую если имя поля не показывается в первых результатах подсказок.
например вводишь
GetWindow
а в подсказках функции из WinAPI.
____________
this так же означает адрес объекта
class B;
class A{
public:
B * b;
};
class B{
A a;
public:
B(){
a.b = this;
}
};