Сообщение Re[18]: C++ illegal instruction от 20.08.2025 19:49
Изменено 20.08.2025 19:56 rg45
Re[18]: C++ illegal instruction
Здравствуйте, B0FEE664, Вы писали:
BFE>Не вижу препятствий:
BFE>
BFE>хотя, конечно, столбовая дорога идёт в другом направлении...
Ну да, с шаблонами/перегрузками и явным преобразованием можно, конечно. Но сейчас всё больше в тренде функциональные объекты типа std::views::take, std::views::drop и множество других. Это все имена объектов, причём разных классов и тут уже даже явное преобразование к указателю/ссылке на функцию не проканает.
BFE>Не вижу препятствий:
BFE>
BFE> using pT = decltype(y)(*)(decltype(y));
BFE> x = (flag ? (pT)std::sin : (pT)std::cos)(y);
BFE> using pF = const decltype(y)& (*)(const decltype(y)&,const decltype(y)&);
BFE> y = (flag ? (pF)std::min : (pF)std::max)(x, y);
BFE>
BFE>хотя, конечно, столбовая дорога идёт в другом направлении...
Ну да, с шаблонами/перегрузками и явным преобразованием можно, конечно. Но сейчас всё больше в тренде функциональные объекты типа std::views::take, std::views::drop и множество других. Это все имена объектов, причём разных классов и тут уже даже явное преобразование к указателю/ссылке на функцию не проканает.
Re[18]: C++ illegal instruction
Здравствуйте, B0FEE664, Вы писали:
BFE>Не вижу препятствий:
BFE>
BFE>хотя, конечно, столбовая дорога идёт в другом направлении...
Ну да, с шаблонами/перегрузками и явным преобразованием можно, конечно — по типу, как преобразуется к указателю на функцию шаблон std::endl. Но сейчас уже всё чаще в тренде функциональные объекты типа std::views::take, std::views::drop и множество других. Это все имена объектов, причём разных классов и тут уже даже явное преобразование к указателю/ссылке на функцию не проканает.
BFE>Не вижу препятствий:
BFE>
BFE> using pT = decltype(y)(*)(decltype(y));
BFE> x = (flag ? (pT)std::sin : (pT)std::cos)(y);
BFE> using pF = const decltype(y)& (*)(const decltype(y)&,const decltype(y)&);
BFE> y = (flag ? (pF)std::min : (pF)std::max)(x, y);
BFE>
BFE>хотя, конечно, столбовая дорога идёт в другом направлении...
Ну да, с шаблонами/перегрузками и явным преобразованием можно, конечно — по типу, как преобразуется к указателю на функцию шаблон std::endl. Но сейчас уже всё чаще в тренде функциональные объекты типа std::views::take, std::views::drop и множество других. Это все имена объектов, причём разных классов и тут уже даже явное преобразование к указателю/ссылке на функцию не проканает.