【发布时间】:2014-11-25 10:10:59
【问题描述】:
我有一个像这样的无序地图:
std::unordered_map<std::string, std::string> wordsMap;
我也有这样的字符串
std::string text = "This is really long text. Sup?";
我正在寻找最快的解决方案,通过space 拆分文本字符串并将每个单词添加到无序映射中,而不使用第三方库。我只会按空格分割它,所以我不是在寻找具有可变分隔符的解决方案。
我想出了这个解决方案:
void generateMap(std::string const& input_str, std::string const& language) {
std::string buf; // Have a buffer string
std::stringstream ss(input_str); // Insert the string into a stream
while (ss >> buf)
wordsMap.insert({ buf, language });
}
有更快的解决方案吗?
【问题讨论】: