From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/gcc~13/conditionals.html | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 devdocs/gcc~13/conditionals.html (limited to 'devdocs/gcc~13/conditionals.html') diff --git a/devdocs/gcc~13/conditionals.html b/devdocs/gcc~13/conditionals.html new file mode 100644 index 00000000..9dd49a0d --- /dev/null +++ b/devdocs/gcc~13/conditionals.html @@ -0,0 +1,8 @@ +

6.8 Conditionals with Omitted Operands ΒΆ

The middle operand in a conditional expression may be omitted. Then if the first operand is nonzero, its value is the value of the conditional expression.

Therefore, the expression

x ? : y
+

has the value of x if that is nonzero; otherwise, the value of y.

This example is perfectly equivalent to

x ? x : y
+

In this simple case, the ability to omit the middle operand is not especially useful. When it becomes useful is when the first operand does, or may (if it is a macro argument), contain a side effect. Then repeating the operand in the middle would perform the side effect twice. Omitting the middle operand uses the value already computed without the undesirable effects of recomputing it.

+

+ © Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
+ https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Conditionals.html +

+
-- cgit v1.2.3