How do I construct and use std::any in C++?

This example demonstrates how to construct and use std::any in C++. The std::any type is a type-safe container for single values of any type, allowing for greater flexibility in handling different data types.

std::any, C++, type-safe container, flexible data types, C++17, example

#include <iostream> #include <any> #include <string> int main() { // Create std::any variable std::any value; // Assign an integer value = 42; // Retrieve and output the integer std::cout << std::any_cast<int>(value) << std::endl; // Assign a string value = std::string("Hello, std::any!"); // Retrieve and output the string std::cout << std::any_cast<std::string>(value) << std::endl; // Checking type and handling exceptions try { std::cout << std::any_cast<double>(value) << std::endl; // This will throw an exception } catch (const std::bad_any_cast& e) { std::cout << "Bad any cast: " << e.what() << std::endl; } return 0; }

std::any C++ type-safe container flexible data types C++17 example