C/C++ supported expression operands

You can monitor an expression that uses the following types of operands only:

Operand Definition
Variable A variable used in your program that is visible in the context in which the expression is to be evaluated.
Note: Variables that have been declared as extern and static class data members are not always visible within the debugger.
Constant The constant can be one of the following types:
  • Fixed-point or floating-point constant within the ranges supported by the system the program you are debugging is running on. Fixed point constants are assumed to be of type long long. Floating point constants are assumed to be of type long double.
  • A string constant, enclosed in double quotation marks (for example, "mystring").
  • A character constant, enclosed in single quote marks (for example, 'x').
  • wchar_t strings and character constants of the form L"mystring" and L'x'.

Suffixes on constants may be used as defined by the language that you are debugging.

Register Any of the processor registers that can be displayed in the Registers view. In the case of conflicting names, program variable names take precedence over register names. For conversions that are done automatically when the registers display in mixed-mode expressions, general-purpose registers are treated as unsigned arithmetic items with a length appropriate to the register.

If you monitor an enumerated variable, a comment is displayed to the right of the value. If the value of the variable matches one of the enumerated types, the comment contains the name of the first enumerated type that matches the value of the variable. If the length of the enumerated name does not fit in the monitor, the contents are displayed as an empty entry field.

The comment (empty or not) lets you distinguish between a valid enumerated value and an invalid value. An invalid value does not have a comment to its right.

You cannot look at macros that have been defined using the #define preprocessor directive.


Feedback