I am reading the C++ code of an AVL tree, and I found the following code from Geeks for Geeks (https://www.geeksforgeeks.org/avl-tree-set-2-deletion/):
Node *temp = root->left ? root->left : root->right;
I know that a > b ? c : d
means if a > b, then c. Otherwise, d
but I'm not sure what the above means. Is it treated as Boolean such as if root->left true, then root->left. Otherwise, root->right
?