online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <variant> #include <string> #include <iostream> using Variant = std::variant<double, std::string>; // helper type for the visitor template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; }; // explicit deduction guide (not needed as of C++20) template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>; std::string_view string_from(const Variant& v) { static std::string buffer; return std::visit(overloaded { [&buffer](const double arg) -> std::string_view { buffer = std::to_string(arg); return buffer; }, [](const std::string& arg) -> std::string_view { return arg; }, }, v); } int main() { Variant v1 {"Hello"}; Variant v2 {1.23}; std::cout << string_from(v1) << '\n'; std::cout << string_from(v2) << '\n'; return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue