我怎么写,"如果不是大于或等于某个值"雄辩地?

时间:2016-04-05 23:27:03

标签: c++ c if-statement operators

我正在阅读,编程:使用C ++的原则和实践,Bjarne建议避免过度使用括号。是否有一种雄辩的方式来构造以下if语句?这是我的代码:

bool is_valid(string s)
{ 
      if(!(s.size()>=8)) throw invalid_argument("Username must be 8 char or more");
      return true;
}

1 个答案:

答案 0 :(得分:2)

功能的设计很糟糕。它总是返回true,并且不清楚它为什么抛出异常。

我应该看起来像

bool is_valid( const string &s )
{
    return s.size() >= 8;
}

bool is_valid( const string &s )
{
    const std::string::size_type acceptable_size = 8;
    return s.size() >= acceptable_size;
}