C++中的字典库

sky*_*oor 3 c++

我必须使用写一个程序,其中应该使用字典来检查一个字符串是否是一个有效的单词.我可以使用任何字典库吗?如果没有,我怎么能构建一个查询字典?

谢谢!

小智 8

struct Dictionary {
  Dictionary() {
    // load _words, here's one possible implementation:
    std::ifstream input ("/usr/share/dict/words");
    for (std::string line; getline(input, line);) {
      _words.insert(line);
    }
  }
  bool contains(std::string const& word) const { return _words.count(word); }

  std::set<std::string> _words;
};
Run Code Online (Sandbox Code Playgroud)

  • @Manuel:不一定,但即使是这样,也没有理由相信这对他来说很重要.保持自动排序的std :: set是有好处的,因为你可以使用lower/upper_bound.谨防过早优化和声称"更快"没有1)要求或2)速度测试. (2认同)
  • 我最近发现的相关演示文稿(http://www.infoq.com/presentations/click-crash-course-modern-hardware)以"性能分析不是扶手椅游戏"结尾. (2认同)