this сильно помогает при чтении кода и помогает избегать ошибок в некоторых ситуациях.
Замечу что this в MQL не везде работает:
class A { protected:
int a;
};
class B : public A {
int a;
void f1() { this.a = 0; } //нормальноvoid f2() { this.A::a = 0; } //Error: '::' - syntax error
};
В правом-верхнем углу все время висит значок, что у меня непрочитанные ЛС. Сбросить никак не получается - прочитал. Просьба добавить кнопку "Сделать все прочитанным".
Ошибка при компиляции (ME\1881\32)
А так:
нормально. А какая разница?Это не причина.
this сильно помогает при чтении кода и помогает избегать ошибок в некоторых ситуациях.Замечу что this в MQL не везде работает:
что в С++ компилируется без ошибки
Замечу что this в MQL не везде работает:
что в С++ компилируется без ошибки
В C++ знают толк в извращениях. Возможно, где-то в макросах такое может быть использовано, но не напрямую.
Возможно, где-то в макросах такое может быть использовано, но не напрямую.
Макросы тут совершенно ни при чем - замените this на обычный указатель и будет точно такой же синтаксис:
В MQL нельзя явно обратиться к b.A::x, а в С++ можно. К чему такое ограничение?Макросы тут совершенно ни при чем - замените this на обычный указатель и будет точно такой же синтаксис:
В данном случае оправдано. Вариант с this - не ясно, зачем так писать. Когда A:: и так обо всем говорит.
Вариант с this - не ясно, зачем так писать. Когда A:: и так обо всем говорит.
О чем в данном случае говорит выделенное А:: ?
О чем в данном случае говорит выделенное А:: ?
Обращение к static-полю в данном контексте. Но я понял, на что намекаете, спасибо.
Ошибка при компиляции (ME\1881\32)
А так:
нормально. А какая разница?К сожалению, исправлять это поведение в ближайшее время не будем.
Это "особенность" реализации шаблонов в MQL.
При таком коде, требуется инстанцировать B раньше A
Макросы тут совершенно ни при чем - замените this на обычный указатель и будет точно такой же синтаксис:
В MQL нельзя явно обратиться к b.A::x, а в С++ можно. К чему такое ограничение?Вводить поддержку скопа при доступе к членам будем позже, при реализации множественного наследования от интерфейсов.