Multiplication, division, and modulus. Multiplication and division are
defined on integral and floating-point types. Modulus is defined on
integral types.

++, --

Increment and decrement. When appearing before a variable, the
operation is performed before the variable is used in an expression;
when appearing after it, the variable's value is used before the
operation takes place.

*

Pointer dereferencing. Defined on pointer types. Same precedence as
++.

&

Address operator. Defined on variables. Same precedence as ++.

For debugging C++, gdb implements a use of ‘&’ beyond what is
allowed in the C++ language itself: you can use ‘&(&ref)’
to examine the address
where a C++ reference variable (declared with ‘&ref’) is
stored.

-

Negative. Defined on integral and floating-point types. Same
precedence as ++.

Structure member, and pointer-to-structure member. For convenience,
gdb regards the two as equivalent, choosing whether to dereference a
pointer based on the stored type information.
Defined on struct and union data.