Для std::map<std::string, std::string> variables
, я хотел бы сделать это:
BOOST_CHECK_EQUAL(variables["a"], "b");
Единственная проблема: в этом контексте variables
есть const
, поэтому operator[]
не будет работать: (
Теперь есть несколько обходных решений; отбрасывая const
, используя variables.count("a") ? variables.find("a")->second : std::string()
, или даже делая эту функцию оболочкой. Ничто из этого не кажется мне таким же приятным, как operator[]
. Что мне делать? Есть ли стандартный способ сделать это (красиво)?
Изменить: Просто чтобы указать ответ, который никто из вас не хочет дать: Нет, нет удобного, красивого, стандартного способа сделать это на С++. Мне придется реализовать вспомогательную функцию.