В следующем коде на C++ что означает double (*) double
? Что это за тип возврата?Определение типа C++ неясно
auto get_fun(int arg) -> double (*)(double) // same as: double (*get_fun(int))(double)
{
switch (arg)
{
case 1: return std::fabs;
case 2: return std::sin;
default: return std::cos;
}
}
go C++ 11 all the way: 'auto get_fun (int arg) -> auto (*) (double) -> double' – bolov
См. Также [Как интерпретировать этот тип C++?] (Http: // stackoverflow .com/q/37844752/1314743) и внешний [как интерпретировать сложные объявления C/C++] (http://www.codeproject.com/Articles/7042/How-to-interpret-complex-CC-declarations). –
@bolov это непристойно: D – Quentin