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.
Return throwing ternary operator? [duplicate]
-
03-06-2022 - |
Question
Reading the documentation of the ternary operator, I've realized that there are two special cases that I've never used:
- you can use it with functions that return void :
bool ? void : void
- you can throw inside a ternary operator
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"));
}
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow