Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну и проблемы у людей))) Шоп я так жил!
Между прочим писать d=array[5].to_double() гораздо проще, чем d=(double)array[5] Только точку нажать. Но мы не ищем легкий путей...
Зачем писать d=(double)array[5]? В этом и идея - не заморачиваться по этим пустякам. Вот кусок реального кода:
chart[index] возвращает struct {price; time}. И нафига я постоянно дописываю .time/.price, когда в большинстве случаев можно понять из контекста? Да, иногда надо будет подсказать (как в предпоследней строке), но в большинстве случаев жизнь станет проще, а писанины меньше.
Ну и проблемы у людей))) Шоп я так жил!
Между прочим писать d=array[5].to_double() гораздо проще, чем d=(double)array[5] Только точку нажать. Но мы не ищем легкий путей...
да, конечно нужно непременно писать d=(double)array[5], когда известно уже при компиляции, что d ничем кроме double быть не может. мыши плакали, кололись, но продолжали грызть кактус...
да, конечно нужно непременно писать d=(double)array[5], когда известно уже при компиляции, что d ничем кроме double быть не может. мыши плакали, кололись, но продолжали грызть кактус...
в С++ для таких целей перегружают operаtor<=> для d, грызут и не плачут ;-)
PS/ а в следствии ассоциативности и приоритетов вообще используют оператор << как более подходящийЗачем писать d=(double)array[5]? В этом и идея - не заморачеваться по этим пустякам. Вот кусок реального кода:
chart[index] возвращает struct {price; time}. И нафига я постоянно дописываю .time/.price, когда в большинстве случаев можно понять из контекста? Да, иногда надо будет подсказать (как в предпоследней строке), но в большинстве случаев жизнь станет проще, а писанины меньше.
Писать (double) - как понял, здесь его перегружать собираются, что бы array[5] возвращало не какой-то там объект, а число double. Не так что ли?
Где в приведенном примере этот контекст, по которому можно понять? Наверно тип параметров MYCRTMFLT? Это перегрузка по типу возвращаемого значения.
Если очень хочется, то можно и так
и т.д.
Боюсь, что продолжая изучать Ваши коды я сломаю себе мозг.
То есть я хочу сказать, что в Ваших методах все восхитительно (без шуток) кроме обилия заглавных букв с подчеркиваниями и операций разрешения контекста :)
Думаю, что если её (операцию разрешения контекста) разрешат перегружать, то Вы вместе со своими библиотеками уйдете в астрал :lol:
PS/ а в следствии ассоциативности и приоритетов вообще используют оператор << как более подходящий
Это мне тоже пришло в голову, честно говоря. Перегрузить << с >> и не мучиться. Но это не отменяет желательности разрешения перегрузки T()
Писать (double) как понял, здесь его перегружать собираются, что бы array[5] возвращало не какой-то там объект, а число double. Не так что ли?
Где в приведенном примере этот контекст, по которому можно понять? Наверно тип параметров MYCRTMFLT? Это перегрузка по типу возвращаемого значения.
Вообще проблемы не вижу:
макрос кончится в итоге или идентификатором каким-нибудь или вызовом функции, там из контекста компилятор и поймёт чего от него хотят. А если нет (ошибка компиляции с ругательством на неоднозначность), то всегда можно помочь ему: chart[i].price
да, конечно нужно непременно писать d=(double)array[5], когда известно уже при компиляции, что d ничем кроме double быть не может. мыши плакали, кололись, но продолжали грызть кактус...
Кроме d еще есть нечто с именем array.
Очень даже не плохо, что компилятор предупреждает о присвоении не соответствующих типов. Надо показать компилятору, что написавшие сие берет на себя полную ответственность за результат, что бы потом не было жалоб на отсутствие предупреждений компилятора.
Вообще проблемы не вижу:
...
Очень даже не плохо, что компилятор предупреждает о присвоении не соответствующих типов. Надо показать компилятору, что написавшие сие берет на себя полную ответственность за результат, что бы потом не было жалоб на отсутствие предупреждений компилятора.
Только не в том случае, когда он сам определил для этого присвоения метод operator double(){...} . явно не для того, чтобы потом писать (double) после переменной типа double, или получать предупреждения компилятора.
В общем разговор явно уже идет по кругу, будем надеяться, что перегрузку типов все таки со временем разрешат, я лично буду не против если для её включения нужно будет поставить галку где-нибудь в настройках и подтвердить, что "я согласен нести полную ответственность за результат".