Boost :: unordered_map со списком инициализации? - PullRequest
1 голос
/ 03 августа 2011

Можно ли инициализировать boost::unordered_map списком инициализации? -Weffc++ требует этого.

Я не могу использовать метод для его инициализации, потому что я заполняю карту только после некоторой обработки внутри конструктора. Я мог бы создать пустую карту внутри метода и вернуть ее, но для меня это не очень хорошая идея.

Я мог бы также использовать указатель и установить его в NULL. Я предпочел бы, хотя это не лучше, чем создание эквивалента пустого метода.

1 Ответ

4 голосов
/ 03 августа 2011

Просто создайте переменную-член по умолчанию в списке инициализации:

struct S {
    boost::unordered_map<int, int> m;

    S() : m() { }
};

Этого достаточно, чтобы -Weffc++ заткнулся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...