online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#define UNIT_TEST_IMPL // or whatever #include "unit_test.hpp" int main() { for(const auto& test : get_tests_queue()) test->run(); }
#pragma once struct Base { protected: Base(); public: virtual ~Base() = default; virtual void run() = 0; }; #if defined(UNIT_TEST_IMPL) // Should be defined only once. #include <vector> std::vector<Base*>& get_tests_queue() { static std::vector<Base*> tests_queue; return tests_queue; } Base::Base() { get_tests_queue().push_back(this); } #endif
#include "unit_test.hpp" #include <iostream> struct Test : Base { void run() override { std::cout << "new test" << std::endl; } }; struct Test2 : Base { void run() override { std::cout << "new test2" << std::endl; } }; static Test test; static Test2 test2;

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