c – 返回投掷三元运算符?

参见英文答案 > Throw and ternary operator in C++                                    4个
阅读三元运算符的文档,我意识到有两个我从未使用过的特殊情况:

>你可以使用返回void:bool的函数吗? void:void
>你可以扔进一个三元运算符

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

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

解决方法:

您的示例是有效且定义良好的(假设大小和_data的合适定义).至于“经常使用” – 我个人以前从未见过这样的结构,因为它的价值.

上一篇:exception(异常)


下一篇:C++ 异常是如何实现的