投掷三元运算符?

时间:2013-07-20 23:33:41

标签: c++ c++11 ternary-operator throw

阅读三元运算符的文档,我意识到有两个我从未使用过的特殊情况:

  • 您可以将其与返回void:bool ? void : void
  • 的函数一起使用
  • 你可以扔进一个三元运算符

以下是有效的,完全定义的,经常使用的(假设这是一个类成员,并且该类拥有Type _data[Size])?

Type& at(const unsigned int i) 
{
    return (i < Size) ? (_data[i]) : (throw std::out_of_range("ERROR"));
}

1 个答案:

答案 0 :(得分:5)

您的示例有效且定义明确(假设Size_data的合适定义)。至于“经常使用” - 我个人以前从未见过这样的结构,因为它的价值。

相关问题