online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <filesystem> #include <iostream> #include <string> #include <vector> namespace { constexpr const auto k_project_name = "my-project"; } /// @brief Convert arguments of main entry function to C++ `std` types /// /// @param argc argument counter /// @param argv argument vector /// /// @return `std::pair` with program and `vector` of arguments /// auto make_cpp_args(const int argc, const char *const argv[]) -> std::pair<std::string, std::vector<std::string>> { auto program = std::filesystem::path(argv[0]).filename().string(); auto argv_vector = std::vector<std::string>(); for (auto argc_nr = 1; argc_nr < argc; ++argc_nr) { argv_vector.push_back(std::string{argv[argc_nr]}); } return std::pair<std::string, std::vector<std::string>>{program, argv_vector}; } /// @brief Entry main function /// /// @param argc argument counter /// @param argv argument vector /// /// @return program exit code (0 on success) auto main(const int argc, const char *const argv[]) -> int { std::cout << "Hello, from " << k_project_name << "!\n"; const auto [program, args] = make_cpp_args(argc, argv); std::cout << "The executable \"" << program << "\" has been called with " << args.size() << " arguments.\n"; if (!args.empty()) { std::cout << std::endl; } for (const auto &arg : args) { std::cout << "\t- " << arg << "\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