Как связать конструктор в 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 12010vEurope/Moscow11bEurope/MoscowMon, 29 Nov 2010 11:32:50 +0300 2010, 11:32:50

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132