Список инициализации std :: pair - PullRequest
2 голосов
/ 23 января 2011

Есть ли способ инициализации std::vector из std::pair<int,int> в списке инициализации в конструкторе? У меня есть std::vector<std::pair<int,int> >, и я хочу инициализировать определенное количество пар для (0, 0). Например, я могу захотеть инициализировать 3 пары (0, 0) для члена в классе. Как бы я поступил так?

1 Ответ

8 голосов
/ 23 января 2011

Это можно сделать с помощью конструктора std::vector, который принимает размер и значение по умолчанию:

class MyClass {
public:
    MyClass();
    /* ... */

private:
    std::vector<pair<int, int> > elems;
};

MyClass::MyClass() : elems(3, std::make_pair(0, 0)) {
    /* ... */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...