【发布时间】:2015-02-22 03:39:25
【问题描述】:
我正在处理一项任务,其中,我收到一个字符串列表作为函数中的参数。根据列表中包含的字符串,我必须对记录进行一些处理。列表中包含的字符串对应于 Record 类中的成员变量。然而,每次调用 doProcessing() 时,list 参数可能包含不同数量的字符串。以下是我的代码的简化版本:
class Record{
string str1;
string str2;
...
string strn;
}; // end Record class
class Process{
void doProcessing(Record* rec, set<string> strList){
if(strList.find("abc") == rec->str1){
//do something
}
if(strList.find("def") == rec->str2){
//do something
}
........
}
}; // end Process class
这里,每次调用 doProcessing 时,strList 都会有所不同。根据情况,它可能只包含 1 个字符串或 n 个字符串。
我认为设计本身存在缺陷。请提出一个好的设计来处理这种情况。我拥有所有课程,因此设计更改没有问题。
【问题讨论】:
-
您能否查看有关
set<String>::find在不同场景(元素存在/不存在)中返回什么的文档?
标签: c++