Использование `noexcept` для функции, которая возвращает unordered_map - PullRequest
0 голосов
/ 04 января 2019

Безопасно ли объявлять функцию как noexcept, если она инициализируется и возвращает std::unordered_map<int, string>.Как пример:

std::unordered_map<int, std::string> get_raw_num_map() noexcept
{
  return std::unordered_map<int, std::string>(
    {{1, "one"}, {2, "two"}, {3, "three"}, {4, "four"}, {5, "five"}, {6, "six"}, {7, "seven"}, {8, "eight"},
     {9, "nine"}, {10, "ten"}, {11, "eleven"}, {12, "twelve"}, {13, "thirteen"}, {14, "fourteen"}, {15, "fifteen"},
     {16, "sixteen"}, {17, "seventeen"}, {18, "eighteen"}, {19, "nineteen"}, {20, "twenty"}, {30, "thirty"},
     {40, "forty"}, {50, "fifty"}, {60, "sixty"}, {70, "seventy"}, {80, "eighty"}, {90, "ninety"},
     {100, "hundred"}, {1000, "thousand"}});
}

1 Ответ

0 голосов
/ 04 января 2019

Создание большинства типов коллекций в C ++ может привести к сбою, если ничего не происходит.Таким образом, функция, возвращающая один, также может быть сгенерирована и не должна быть объявлена ​​noexcept.

...