if (something) return something; // 某些编程风格里不允许这样做,因为它不方便调试
if (something)
return something; // 某些风格里又有大括号的统一要求
if (something) {
return something; // 就算符合风格了,但这一条语句就得多个大括号
}
if (something)
{
return something; // 某些风格里这大括号就更奢侈了
}
这个return除了乍看上去有点纠结外,其实也不算什么大问题,但是那个问号表达式返回的0实在没有任何意义,而正是没有意义才会让它误导人。本来我是可以写成:
return last < str.length() && ret.push_back(str.substr(last)), ret;
这样利用条件表达式的短路运算,代码也清晰多了。但是,std::vector::push_back是一个没有返回值的函数,所以。
作者:loop_in_codes