Binary resource inclusion (since C23) - cppreference.com

en.cppreference.com/w/c/preprocessor/embed     2025-03-24T00:00:00.0000000
The limit embed parameter can appear at most once in the embed parameter sequence. It must have an argument, which must be an integer (preprocessor) constant expression that evaluates to a non negative number and does not contain the token defined. The resource width is set to the minimum of the integer constant expression multiplied by the ...

Preprocessor - cppreference.com

en.cppreference.com/w/cpp/preprocessor.html     2023-08-01T00:00:00.0000000
< cpp C++. Compiler support ... #embed (C++26) The preprocessor is executed at translation phase 4, before the compilation. The result of preprocessing is a single file which is then passed to the actual compiler. Contents. 1 Directives;

Conditional inclusion - cppreference.com

en.cppreference.com/w/cpp/preprocessor/conditional     2023-06-30T00:00:00.0000000
Explanation. The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif, #elifdef, or #elifndef (since C++23) directives, then optionally includes at most one #else directive and is terminated with #endif directive. Any inner conditional preprocessing blocks are processed separately. Each of #if, #ifdef, #ifndef, #elif, # ...

cppreference.com

en.cppreference.com/w/     2025-03-30T00:00:00.0000000
Keywords − Preprocessor ASCII chart Basic concepts Comments Names Types (fundamental types) The main function Expressions Value categories Evaluation order Operators Conversions − Literals Statements if − switch for − range-for (C++11) while − do-while Declarations − Initialization

Feature testing (since C++20) - cppreference.com

en.cppreference.com/w/cpp/experimental/feature_test.html     2025-02-26T00:00:00.0000000
The standard defines a set of preprocessor macros corresponding to C++ language and library features introduced in C++11 or later. They are intended as a simple and portable way to detect the presence of said features. ... __cpp_pp_embed: #embed: 202502L (C++26) P1967R14 __cpp_range_based_ for: Range-based for loop: 200907L (C++11) N2930: Range ...

Resource inclusion (since C++26) - cppreference.com

en.cppreference.com/w/cpp/preprocessor/embed     2025-03-24T00:00:00.0000000
limit parameter. An embed parameter of the form limit (balanced-pp-tokens) can only appear at most once in each #embed directive.. balanced-pp-tokens are processed just as in normal text to form a constant expression, but defined, __has_include, __has_cpp_attribute and __has_embed expressions are not evaluated.. The constant expression must be an integral constant expression whose value is ...

Preprocessor - cppreference.com

en.cppreference.com/w/c/preprocessor     2025-01-12T00:00:00.0000000
The preprocessor is executed at translation phase 4, before the compilation. The result of preprocessing is a single file which is then passed to the actual compiler. ... instruction (one of define, undef, include, if, ifdef, ifndef, else, elif, elifdef, elifndef (since C23), endif, line, embed (since C23), error, warning (since C23), pragma ...

Conditional inclusion - cppreference.com

en.cppreference.com/w/c/preprocessor/conditional     2023-06-29T00:00:00.0000000
Explanation. The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif, #elifdef, or #elifndef (since C23) directives, then optionally includes at most one #else directive and is terminated with #endif directive. Any inner conditional preprocessing blocks are processed separately. Each of #if, #ifdef, #ifndef, #elif, #elifdef ...

Source file inclusion - cppreference.com

en.cppreference.com/w/cpp/preprocessor/include.html
Iteration statements (loops) for: range-for (C++11)while: do-while

Replacing text macros - cppreference.com

en.cppreference.com/w/cpp/preprocessor/replace     2024-08-05T00:00:00.0000000
Otherwise, the behavior is undefined. [] # and ## operatorIn function-like macros, a # operator before an identifier in the replacement-list runs the identifier through parameter replacement and encloses the result in quotes, effectively creating a string literal. In addition, the preprocessor adds backslashes to escape the quotes surrounding embedded string literals, if any, and doubles the ...
Feedback