Example of Exploring Feature Test Macros

C++




// C++ Program to demonstrate
// Exploring Feature Test Macros 
#include <iostream>
using namespace std;
  
// main function
int main()
{
    // Check if ranges library is available
    #ifdef __cpp_lib_ranges
        cout << "Ranges library is Available." << endl;
    #else
        cout << "Ranges library is Not Available." << endl;
    #endif
  
    return 0;
}


Output

Ranges library is Not Available.



In this example, we use Feature Test Macros to check for the availability of three features: constexpr, the ranges library and structured bindings. Comments are provided alongside each check to explain the purpose of the code block.

C++ 20 – Feature Test Macros

In C++, the stage is set for the entry of Feature Test Macros, a potent mechanism ushered in by C++20 to confront these compatibility quandaries head-on. Within this article, we shall embark on an exploration of Feature Test Macros, delve into their conceptual essence, grasp their significance, navigate through tangible examples, and discern their role in the art of composing portable, harmonious C++ code.

Features Test Macros in C++

Feature Test Macros emerge as preprocessor directives that grant you the ability to scrutinize whether a particular language or library feature garners support from the compiler during the compilation process. This avenue furnishes a uniform method for querying the capabilities of the compiler, facilitating a seamless adjustment of your codebase in response.

Through the strategic employment of Feature Test Macros, developers attain the capacity to discern the availability of select features. As a result, this empowers the conditional assembly of code segments contingent upon the existence or absence of specific attributes. The overarching result is the preservation of code functionality across an array of compilers and diverse renditions of the C++ standard.

Similar Reads

Example of Exploring Feature Test Macros

C++ // C++ Program to demonstrate // Exploring Feature Test Macros  #include using namespace std;    // main function int main() {     // Check if ranges library is available     #ifdef __cpp_lib_ranges         cout << "Ranges library is Available." << endl;     #else         cout << "Ranges library is Not Available." << endl;     #endif        return 0; }...

Implementing Feature Test Macros

...

Exploring Feature Test Macros with Concrete Examples

Executing Feature Test Macros efficiently involves the following systematic approach:...

Advantages of Utilizing Feature Test Macros

1. Verifying ‘constexpr’ Support...

Contact Us