Если есть метод-член с таким-же идентификатором, то будет вызван именно он; если члена с таким идентификатором нет, то будет вызвана функция из global scope. Что вам дает this?
С членами (переменными/объектами) все тоже очень просто. Если вы работаете в ооп парадигме, то и работайте в ней полностью, а не "тут немного ооп, а там немного переменных в global scope лежит". У меня global scope пустой всегда (там либо единственный объект CAdvisor, либо единственный объект CIndicator), поэтому я не боюсь, что я изменю 'член класса/локальную переменную' вместо 'переменной в глобальной области' или наоборот.
Vladislav Boyko #: Если вы работаете в ооп парадигме, то и работайте в ней полностью, а не "тут немного ооп, а там немного переменных в global scope лежит".
class A
{
int Value;
public:
A() : Value(0)
{
int Pos = 0;
// Какой-то код.
Pos = 1; // Pos - локальная переменная или член класса?
Value = 1; // Value - локальная переменная или член класса?this.Value = 1; // Value - локальная переменная или член класса?
}
};
Вообще не понимаю, зачем поднимается ООП-тема в данном вопросе. Здесь от ООП 1%.
<Alt+G> работает и для IsStopped, и для OrderSend. Поэтому при чтении исходника не составляет труда выяснить, что имеено вызывается.
Каждый раз, когда видите OrderSend, делаете ALT+G? Ну так, на всякий случай, мало ли это метод, а не штатная функия, которая даже подсвечивается в ME, как штатная.
Каждый раз, когда видите OrderSend, делаете ALT+G? Ну так, на всякий случай, мало ли это метод, а не штатная функия, которая даже подсвечивается в ME, как штатная.
Я не часто читаю чужой код, а когда читаю, то прожал бы <Alt+G> на фиолетовых функциях. В своем коде я бы не назвал свой метод именем встроенного.
Если есть метод-член с таким-же идентификатором, то будет вызван именно он; если члена с таким идентификатором нет, то будет вызвана функция из global scope. Что вам дает this?
Для меня загадка, почему бытует такое мнение.
А для чего он нужен (this)?
Если есть метод-член с таким-же идентификатором, то будет вызван именно он; если члена с таким идентификатором нет, то будет вызвана функция из global scope. Что вам дает this?
Что вам дает this?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2025.02.10 15:55
Чтобы была однозначность при чтении кода и не возникали потенциальные ошибки.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2025.02.10 15:43
Знания ООП требуются для прочтения? Не возникает вопрос, почему IsStopped содержит входной параметр?
А ниже же полное понимание, что вызывается, правда?
Многим приходит в голову при виде такого вызова OrderSend нажать ALT+G?
<Alt+G> работает и для IsStopped, и для OrderSend. Поэтому при чтении исходника не составляет труда выяснить, что имеено вызывается.
Если вы работаете в ооп парадигме, то и работайте в ней полностью, а не "тут немного ооп, а там немного переменных в global scope лежит".
Вообще не понимаю, зачем поднимается ООП-тема в данном вопросе. Здесь от ООП 1%.
<Alt+G> работает и для IsStopped, и для OrderSend. Поэтому при чтении исходника не составляет труда выяснить, что имеено вызывается.
Каждый раз, когда видите OrderSend, делаете ALT+G? Ну так, на всякий случай, мало ли это метод, а не штатная функия, которая даже подсвечивается в ME, как штатная.
Вообще не понимаю, зачем поднимается ООП-тема в данном вопросе. Здесь от ООП 1%.
Возможно это имеет смысл если описание объекта длинное. Лично я в таком случае обычно сделал бы вот так:
Хотя слышал критику и в сторону такой практики. Не знаю, как правильнее/лучше.
Каждый раз, когда видите OrderSend, делаете ALT+G? Ну так, на всякий случай, мало ли это метод, а не штатная функия, которая даже подсвечивается в ME, как штатная.
если вы употребляете this, то делаете что-то не то и не так
<Alt+G> работает и для IsStopped, и для OrderSend. Поэтому при чтении исходника не составляет труда выяснить, что имеено вызывается.
А для чего он нужен (this)?
Если есть метод-член с таким-же идентификатором, то будет вызван именно он; если члена с таким идентификатором нет, то будет вызвана функция из global scope. Что вам дает this?