考虑一个向集合中添加项的例子
Item* addItem(const std::string &content, int mode)
{
theList.insert(0, new Item{content, mode});
return theList.first();
}
由于需求变更,需要在添加后对集合进行了一个测试,删除较早的项,这由函数doOverloadCheck()实现,现在addItem的实现可变更为:
Item* addItem(const std::string &content, int mode)
{
Item *item = new Item{content, mode};
theList.insert(0, item);
doOverloadCheck(theList);
return item;
}
作为一个对代码有点情结的人,我仍希望保持原来的两行代码,那逗号表达式就可以协助我,其核心就是:逗号表达式求值的结果是最后一个表达式的值,如:
int a = (3,4,5+6); // a初始值为11
现在addItem的实现可变更为:
Item* addItem(const std::string &content, int mode)
{
theList.insert(0, new Item{content, mode});
return doOverloadCheck(theList), theList.first();
}
逗号表达式或许会让代码显得更加干脆,又或许更加凌乱,取决于你的看法。
1万+

被折叠的 条评论
为什么被折叠?



