Излишне объяснять. Следующий код является самоочевидным:
struct X
{
X(int n){}
};
int main()
{
std::vector<int> src;
std::vector<X> dest;
// Below is not valid in current C++, but that is just what I want.
transform(src.begin(), src.end(), back_insert(dest), std::bind(&X::X, _1));
}
Конструктор принимает некоторые аргументы и возвращает объект класса конструктора.
Конструктор выглядит как функция, действует как функция и является точно функцией.
Итак, я думаю, std:: bind должен равномерно обрабатывать конструкторы и другие вызываемые объекты.
Однако, как я могу расширить шаблон функции "bind", чтобы реализовать это?