【发布时间】:2013-03-16 11:12:15
【问题描述】:
我查看了模板定义,参数似乎需要跨范围和谓词的迭代器。我传入了一个vector.begin()、...end() 和一个std::string 谓词,但仍然得到许多与许多boost 库项目相关的编译时错误。请给我看一个使用 boost::algorithm::contains 的清晰示例吗?
【问题讨论】:
我查看了模板定义,参数似乎需要跨范围和谓词的迭代器。我传入了一个vector.begin()、...end() 和一个std::string 谓词,但仍然得到许多与许多boost 库项目相关的编译时错误。请给我看一个使用 boost::algorithm::contains 的清晰示例吗?
【问题讨论】:
这相当简单,我猜你应该在传递容器时传递迭代器。
std::string s = "fishing";
std::cout << boost::algorithm::contains(s, "is") << std::endl;
std::vector<int> v {1,2,3,5,7,2,7,4,5,8};
std::vector<int> v2 {5,7,2,7,4};
std::vector<int> v3 {5,7,2,7,3};
std::cout << boost::algorithm::contains(v, v2) << std::endl;
std::cout << boost::algorithm::contains(v, v3) << std::endl;
【讨论】: