У меня есть следующий класс:Что такое «использование» в этом случае и что хранится?
class Foo{
}
class Bar{
public:
using meth = Foo* (*)(int a, std::string b);
}
Может кто-то объяснить, что означает, что линия:
using meth = Foo* (*)(int a, std::string b);
Мне кажется, что это способ хранения указателя на конструктор или что-то. Если кто-то может объяснить, я был бы признателен.
Пожалуйста, не стесняйтесь редактировать сам вопрос, чтобы сделать его более наглядным - если бы я знал, что сделал этот код, я бы не стал задавать вопрос.
Но Foo пуст и не содержит никаких функций. Итак, что хранится?Кроме того, я не понимаю, что делает ваш второй блок кода. Он выглядит как объявление функции в первой строке, а затем вы назначаете его методу. Я не знаю, что с этим делать, и не понимаю, почему вы это сделаете. –
Это функция-указатель для глобальной функции. 'Foo *' - это только возвращаемый тип. –
Итак, вы говорите, что (*) обозначает функцию, (int a, std :: string b), параметры и Foo * тип возврата? –