stl类中的算法
答
您可以定义一个比较谓词(函子)。这里是一个通用的实现:
struct AlphabeticNameComp
{
AlphabeticNameComp(const std::string& toCompare)
: toCompare_(toCompare) { }
bool operator()(const Alphabetic& obj) const
{
return toCompare_ == obj.name();
}
private:
const std::string toCompare_;
};
按字母元素
的矢量std::vector< Alphabetic> vect;
可以运行像搜索:
std::find_if(vect.begin(), vect.end(), AlphabeticNameComp("abc"));
答
您可以定义Alfhabetic
类匹配的operator==()
只有数据成员abc
类似的东西:
bool operator==(const Alfhabetic& a, const Alfhabetic& b)
{
return (a.abc == b.abc);
}
,然后找到一个Alfhabetic
实例与abc
为你想要的值初始化。