Ошибки, баги, вопросы - страница 3476
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы выбрали авторитет.
Я привел пример (доказательство) и Вам его не опровергнуть
Я привел пример и Вам его не опровергнуть
Снова выбрали авторитет, теперь вместо GPT стал Microsoft. Определяемые пользователем операторы - всегда методы.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2024.01.31 17:20
Выделенное может быть любой отсебятиной. В данном случае даже не bool, как ниже.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2024.01.31 17:40
Результат: 0
т.е. правый не вычисляется вообще
Ваше понимание запутано из-за применения слов оператор и одинакового синтаксиса для && и operator&&.
Определяемые пользователем операторы - всегда методы.
Выделенное может быть любой отсебятиной. В данном случае даже не bool, как ниже.
Ваше понимание запутано из-за применения слов оператор и одинакового синтаксиса для && и operator&&.
Это завуалированный метод ради удобства/гибкости написания.
Снова выбрали авторитет, теперь вместо GPT стал Microsoft. Определяемые пользователем операторы - всегда методы.
Выделенное может быть любой отсебятиной. В данном случае даже не bool, как ниже.
Ваше понимание запутано из-за применения слов оператор и одинакового синтаксиса для && и operator&&.
Не только Microsoft - возьмите любой (!) C++ компилятор (кроме MQL)
Слова не нужны - нужен пример, доказывающий, что Microsoft и все остальные (кроме MQL) - не правы
Ваш пример аналогии с функцией не подходит, потому что как минимум приоритет у перегруженных операторов сохраняется (даже в MQL), а значит уже нет полной аналогии
Не только Microsoft - возьмите любой (!) C++ компилятор (кроме MQL)
Слова не нужны - нужен пример, доказывающий, что Microsoft и все остальные (кроме MQL) - не правы
Логика доказательств не предполагает наличие авторитетов. Мы обсуждаем язык программирования, в котором поведение компилятора либо специально было запрограммировано (1) так, либо просто вышло, как получилось (2).
Если первое - должно быть четкое объяснение где-то в интернете, почему сделано именно так, а не иначе.
Если второе - то это случайность.
Логика доказательств не предполагает наличие авторитетов. Мы обсуждаем язык программирования, в котором поведение компилятора либо специально было запрограммировано (1) так, либо просто вышло, как получилось (2).
Если первое - должно быть четкое объяснение где-то в интернете, почему сделано именно так, а не иначе.
А чем Вас объяснение чата не устраивает?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2024.01.31 18:47
Важно помнить, что перегрузка расширяет возможности языка, а не изменяет язык
Нельзя менять приоритет и ассоциативность (слева направо или справа налево) операторов.
Добавлю из справки по MQL
Операция
Описание
Порядок выполнения
&&
Логическая операция И
Слева направо
А чем Вас объяснение чата не устраивает?
Вы прикалываетесь?!
Вы прикалываетесь?!
У перегруженного && теряется только ленивость, но сохраняется приоритет и ассоциативность. Первый раз вижу, чтобы в Википедии что то было выделено, да еще и фиолетовым цветом - видимо это специально сделали для таких как Вы - нежелающих признать очевидные вещи:
Обычные операторы[править | править код]
Важно помнить, что перегрузка расширяет возможности языка, а не изменяет язык, поэтому перегружать операторы для встроенных типов нельзя. Нельзя менять приоритет и ассоциативность (слева направо или справа налево) операторов. Нельзя создавать собственные операторы и перегружать некоторые встроенные: :: . .* ?: sizeof typeid . Также операторы && || , теряют свои уникальные свойства при перегрузке: ленивость для первых двух и очерёдность для запятой (порядок выражений между запятыми строго определён, как лево-ассоциативный, то есть слева-направо).
Также операторы && || , теряют свои уникальные свойства при перегрузке: ленивость для первых двух и очерёдность для запятой (порядок выражений между запятыми строго определён, как лево-ассоциативный, то есть слева-направо).
Забыли выделить.
У перегруженного && теряется только ленивость , но сохраняется приоритет и ассоциативность . Первый раз вижу, чтобы в Википедии что то было выделено, да еще и фиолетовым цветом - видимо это специально сделали для таких как Вы - нежелающих признать очевидные вещи:
Обычные операторы [ править | править код ]
Важно помнить, что перегрузка расширяет возможности языка, а не изменяет язык, поэтому перегружать операторы для встроенных типов нельзя. Нельзя менять приоритет и ассоциативность (слева направо или справа налево) операторов . Нельзя создавать собственные операторы и перегружать некоторые встроенные: :: . .* ?: sizeof typeid . Также операторы && || , теряют свои уникальные свойства при перегрузке: ленивость для первых двух и очерёдность для запятой (порядок выражений между запятыми строго определён, как лево-ассоциативный, то есть слева-направо).
Википедия не предоставляет источника для этого утверждения об ассоциативности. Ты сам это написал? ;-)
https://en.cppreference.com/w/cpp/language/operators#Rarely_overloaded_operators