【发布时间】:2014-03-23 17:51:25
【问题描述】:
所以使用一堆 if 语句,我想有人可以用更好的方法帮助我。
这就是我想要做的。 假设我有 3 个字符串,如果找到该字符串,我想为该字符串分配一个函数...
目前我正在做的一个基本示例:
if(findStr(string1)) {
function1(perams);
}
else if (findStr(string2)) {
function2(perams);
}
else if (findStr(string3)) {
function3(perams);
}
我正在做一些类似的更大范围的事情,10 个不同的字符串,每个字符串对应于它自己的功能。
我对可能涉及我的字符串结构的选项持开放态度?
我只想做一个 if 语句,即使涉及循环。我不想调用“function1”、“function2”、“function3” 我希望它以某种方式与字符串相关联。
这可以干净地做吗?还是 if 语句是最干净的方法?
谢谢大家
【问题讨论】:
-
使用
std::map<std::string,FnPtrType>怎么样,其中FnPtrType类似于typedef void (*FnPtrType)(Params&)?
标签: c++ string function if-statement