Reading the documentation of the ternary operator, I've realized that there are two special cases that I've never used:
bool ? void : void
So is the following valid, completely defined, and oftenly used (assuming that this is a class member, and the class owns a Type _data[Size]
) ?
Type& at(const unsigned int i)
{
return (i < Size) ? (_data[i]) : (throw std::out_of_range("ERROR"));
}
Your example is valid and well-defined (assuming suitable definitions of Size
and _data
). As to "oftenly used" - I personally have never seen such a construct before, for what it's worth.