The _Pragma preprocessing operator
The unary operator _Pragma, allows a
preprocessor macro to be contained in a pragma directive.
_Pragma operator syntax
L,
making it a wide-string literal.The string literal is destringized and tokenized. The
resulting sequence of tokens is processed as if it appeared in a pragma
directive. For example, the following two statements are equivalent:
_Pragma ( "pack(full)" )
#pragma pack(full)
In C++11,
the _Pragma operator feature of the C99 preprocessor
is adopted to provide a common preprocessor interface for C and C++
compilers. The _Pragma operator is an alternative
method of specifying the #pragma directive. For more
information, see C99 preprocessor features adopted in C++11 (C++11).