Светлая тема /
тёмная тема
В Рунете полно сайтов о программировании, в основном там много статей для новичков. Такие сайты могут выглядеть модно, но работа авторов и редакторов (если они вообще есть) часто недотягивает до приличного уровня.
Небольшой, но показательный пример. Автор заявляет, что «this является const указателем».
class Foo {
private:
int x;
public:
Foo(int x = 0) { this->x = x; }
void change(Foo *foo) { this = foo; }
void print() { cout << x << endl; }
};
И никого не смутило, что компилятор прямо говорит о причине:
Тип указателя this — либо Foo*, либо const Foo*. Он не может быть Foo* const или const Foo* const. А присвоить ему ничего нельзя потому, что он не является левосторонним значением (lvalue); по-простому — не может стоять слева от знака присваивания.
Читайте хорошие книги и сайты.