Как связать конструктор в C ++?

Излишне объяснять. Следующий код очевиден:

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», чтобы реализовать это?

12
задан xmllmx 29 November 2010 в 08:32
поделиться