Ternary operator
The ternary operator ?:
in C++ is the only operator that takes three operands and works similar to an if statement. It must be used carefully, and can lead to obfuscated code.
int kids;
cin >> kids;
// using if statement
cout << "You have " << kids << " child";
if (kids != 1)
cout << "ren";
cout << endl;
// using ternary operator
cout << "You have " << kids << " child" << ((kids != 1) ? "ren" : "") << endl;
The above code uses the ternary operator to accurately output 0 children, 1 child, 2 children, 3 children, etc.