online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> #include <ostream> #include <chrono> // for all things time #include <future> // for std::async, that allows us to run functions on other threads void function() { const std::size_t max_loop_count{ 500 }; std::atomic<std::size_t> n{ 0ul }; // make access to loopcounter threadsafe // start another thread that will do the reporting independent of the // actual work you are doing in your loop. // for this capture n (loop counter) by reference (so this thread can look at it) auto future = std::async(std::launch::async,[&n, max_loop_count] { while (n < max_loop_count) { std::this_thread::sleep_for(std::chrono::milliseconds(100)); std::cout << "\rprogress = " << (100 * n) / max_loop_count << "%"; std::flush(std::cout); } }); for (; n < max_loop_count; n++) { // do your loops work std::this_thread::sleep_for(std::chrono::milliseconds(10)); } // synchronize with reporting thread future.get(); } int main() { function(); 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