Нужна ли конструкция #ifdef #else #endif в дополнение к #define ? - страница 3

 
Лично я думаю, что MQL5 надо двигаться в сторону бОльшей совместимости с С++. Иначе очень неудобно переносить существующий С++ код, что является сдерживающим фактором роста базы MQL5 программ. В первую очередь это касается расширения препроцессора и усложнения/улучшения классов.
Документация по MQL5: Программы MQL5
Документация по MQL5: Программы MQL5
  • www.mql5.com
Программы MQL5 - Документация по MQL5
 
Renat:
Лично я думаю, что MQL5 надо двигаться в сторону бОльшей совместимости с С++. Иначе очень неудобно переносить существующий С++ код, что является сдерживающим фактором роста базы MQL5 программ. В первую очередь это касается расширения препроцессора и усложнения/улучшения классов.
Всеми руками за :)
 
TheXpert:

Кто говорит про невозможность? Про удобство.

Вот недавно поднимались вопросы по коллстеку и дебаг информации. Информация ведь не самая легкая, отключение с помощью макросов сделать элементарно, а без них?

Далее, переключение языка комментариев, к примеру...

Полностью согласен. Если это действительно несложно - сделайте пожалуйста.

Пользоваться ведь никто насильно не заставляет. А в некоторых случаях очень удобно и просто решаются задачки конфигурирования.

 
Renat:
Лично я думаю, что MQL5 надо двигаться в сторону бОльшей совместимости с С++. Иначе очень неудобно переносить существующий С++ код, что является сдерживающим фактором роста базы MQL5 программ. В первую очередь это касается расширения препроцессора и усложнения/улучшения классов.

У меня было чувство, что MQL5 движется скорее к Java, чем к C++

Особенно стандартная библиотека наводит на мысль... :)
Хотя мне особо нет разницы, оба языка хороши :)

 
MetaDriver:

Если это действительно несложно - сделайте пожалуйста.

угу, попробуйте еще Вы попросить: передачу в конструктор класса переменные/параметры для инициализации свойств/полей класса

я просил, мне вежливо отказали, может у Вас, что выйдет ;) 

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 

stringo 2011.02.22 18:08 

Кто-нибудь может обосновать невозможность жизни без использования #ifdef в MQL5?  

Невозможности жизни не будет и без МТ5 - как-то обходились раньше и сейчас мир не перевернется.

- Почему именно такая постановка вопроса?

- Неужели так сложно добавить две конструкции препроцессора? 

- Как это навредит безопасности\скорости\...?

- Не нравится - не пользуйся.

Вот мой случай:

Пишу классы, которые используются тремя компиляторами (С++, NVidia и MT5)
Различия в реализиции между С++ и NVidia-CUDA скрываю #ifdef \ #ifndef

Для МТ5 приходится выполнять тупой файлокопинг с кучей неочевидных ошибок при небольших изменениях - теперь надо следить за парами файлов-исходников С++\CUDA.cpp и MT5.mq5.

В постоянно расширяемой библиотеке классов это вызывает бурю эмоций - не самых позитивных


 
Конструкторы с параметрами обязательно будут, сейчас упор будет на упрощение переноса C++ кода
 
Renat:
Конструкторы с параметрами обязательно будут, сейчас упор будет на упрощение переноса C++ кода

это радует и вселяет оптимизм

ЗЫ: ну если в этой ветке можно просить, что душе заблагорассудится - верните возможность создавать нестандартные ТФ как в МТ4 ;)

 
yu-sha:

Невозможности жизни не будет и без МТ5 - как-то обходились раньше и сейчас мир не перевернется.

- Почему именно такая постановка вопроса?

- Неужели так сложно добавить две конструкции препроцессора? 

- Как это навредит безопасности\скорости\...?

- Не нравится - не пользуйся.

Вот мой случай:

Пишу классы, которые используются тремя компиляторами (С++, NVidia и MT5)
Различия в реализиции между С++ и NVidia-CUDA скрываю #ifdef \ #ifndef

Для МТ5 приходится выполнять тупой файлокопинг с кучей неочивидных ошибок при небольших изменениях - теперь надо следить за парами файлов-исходников С++\CUDA.cpp и MT5.mq5.

В постоянно расширяемой библиотеке классов это вызывает бурю эмоций - не самых позитивных

Нормальная постановка вопроса. Изучение реального спроса.

Добавить несложно. Сложно расхлёбывать возможные последствия.

Неизвестно как навредит. "Дай дураку стеклянный жезл, он его разобьёт и об него же и порежется"

"Не нравится - не пользуйся". Особый смак объяснять это нубам на англоязычном форуме.

Ваш случай показывает реальную потребность. Вы аргументировали.

 
Renat:
Конструкторы с параметрами обязательно будут, сейчас упор будет на упрощение переноса C++ кода

Ура!!!! Правда критичны только копи-конструктор и копи-оператор, все остальное можно реализовать через них.

Renat:
Лично я думаю, что MQL5 надо двигаться в сторону бОльшей совместимости с С++. Иначе очень неудобно переносить существующий С++ код, что является сдерживающим фактором роста базы MQL5 программ. В первую очередь это касается расширения препроцессора и усложнения/улучшения классов.

Мысль отличная в свете того, что упор делается таки на программистов.

Тогда первым делом логично было бы уподобить структуру файлов и проекта. Сейчас допустим библиотеками пользоваться не особо удобно, тем более класс импортом не достанешь.

stringo:

Неизвестно как навредит. "Дай дураку стеклянный жезл, он его разобьёт и об него же и порежется"

Это да, но конструкция линейная, так что негативные последствия будут оперативно лататься более пряморукими обитателями форума :)

Причина обращения: