Size: a a a

2021 March 17

AS

Anatoly Shirokov in pro.cxx
Андрей Соловьев
Ага, забрезжил свет, спасибо!
источник

AS

Anatoly Shirokov in pro.cxx
Правда, стоит сказать, что это чуть ли не самая сложная часть языка :)
источник

АС

Андрей Соловьев... in pro.cxx
Anatoly Shirokov
Правда, стоит сказать, что это чуть ли не самая сложная часть языка :)
Стыдно плохо знать предмет своей деятельности - это в мой адрес. Еще раз спасибо за подсказку.
источник

ee

elias eliatto in pro.cxx
привет! подскажите, пожалуйста, библиотечку логирования (или общий подход/дизайн) на C++ (для примера), где  с помощью макросов можно писать иерархические логи. Т.е. у каждой записи есть опциональный родительский id (чтобы можно было отобразить в treeview). При этом учитывать scope {}
источник

АС

Андрей Соловьев... in pro.cxx
Anatoly Shirokov
Правда, стоит сказать, что это чуть ли не самая сложная часть языка :)
Если можно, еще один вопрос. При применении правил разрешения перегрузки, после создания множества функций-кандидатов, следующим этапом производится сравнение аргументов. Вот при этом сравнении проверяется возможность неявной конверсии типов. В приведенном проблемном коде возможно и int->double, и int64_t->double, но выполняется только последнее. А вот для этого куска проблемы что можно покурить?
источник

AS

Anatoly Shirokov in pro.cxx
Андрей Соловьев
Если можно, еще один вопрос. При применении правил разрешения перегрузки, после создания множества функций-кандидатов, следующим этапом производится сравнение аргументов. Вот при этом сравнении проверяется возможность неявной конверсии типов. В приведенном проблемном коде возможно и int->double, и int64_t->double, но выполняется только последнее. А вот для этого куска проблемы что можно покурить?
у вас же пары (int, double) и (int64_t, int64_t) в чем проблема?
источник

DF

Dollar Føølish in pro.cxx
Там произвольное число конверсий встроенных , потом одна пользовательская , потом опять произвольное число встроенных
источник

DF

Dollar Føølish in pro.cxx
Выбор из встроенных по принципу кратчайшего пути
источник

АС

Андрей Соловьев... in pro.cxx
Anatoly Shirokov
у вас же пары (int, double) и (int64_t, int64_t) в чем проблема?
(double, int) и (int64_t, int64_t)
источник

AS

Anatoly Shirokov in pro.cxx
Андрей Соловьев
(double, int) и (int64_t, int64_t)
так, дальше, покажите что вы подставляете в вызов, какие типы и видите проблему
источник

АС

Андрей Соловьев... in pro.cxx
Anatoly Shirokov
так, дальше, покажите что вы подставляете в вызов, какие типы и видите проблему
(double, int) (int64_t, int64_t) Такая пара триггерит неявное преобразование int64_t -> double
Пара (int, double) (int64_t, int64_t) неявное преобразование int->double не запускает
источник

AB

A B in pro.cxx
Андрей Соловьев
(double, int) и (int64_t, int64_t)
А само наличие таких перегрузок, это не признак плохой архитектуры?
источник

DF

Dollar Føølish in pro.cxx
+
источник

DF

Dollar Føølish in pro.cxx
Это будет невозможно поддерживать
источник

АС

Андрей Соловьев... in pro.cxx
A B
А само наличие таких перегрузок, это не признак плохой архитектуры?
Может быть, но мне нужно разобраться в механизме
источник

АС

Андрей Соловьев... in pro.cxx
Dollar Føølish
Там произвольное число конверсий встроенных , потом одна пользовательская , потом опять произвольное число встроенных
Можно чуть подробнее, пожалуйста?
источник

DF

Dollar Føølish in pro.cxx
На цппреференс была страничка про это
источник

DF

Dollar Føølish in pro.cxx
Посмотрите правила для конверсий я с телефона не найду
источник

АС

Андрей Соловьев... in pro.cxx
Dollar Føølish
На цппреференс была страничка про это
Я вопрос задаю после ее прочтения 🙂
источник

DF

Dollar Føølish in pro.cxx
Ну вот то что я написал это для одного  аргумента такая цепочка
источник