C++ · version 17

Run C++ 17 online

Released December 2017

Structured bindings and `if constexpr` — the current de-facto default in industry.

Release

What's in C++ 17

  • Structured bindings: `auto [a, b] = pair;`.
  • `if constexpr` — compile-time branch elimination without SFINAE.
  • `std::filesystem`, `std::variant`, `std::optional` land in the stdlib.
Starter code

What you get in C++ 17

Clicking "Run now" opens the playground with this exact code and a matching test case — passes on first Run.

c++
C++ 17
#include<iostream>
int main(){int n;std::cin>>n;std::cout<<n*2<<std::endl;return 0;}
stdin →21
expected →42
How it runs

How ls-judge runs C++ 17

Every submission is compiled and executed inside its own Firecracker microVM — the same isolation primitive AWS Lambda uses. No shared container, no shared kernel with other users' code. The C++ 17toolchain shipped with the microVM is the real thing (not a browser-side emulation): syscalls behave the way they do in production, and the compile / runtime behaviour matches what you would see on your own machine with that version installed.

Feed stdin from the Tests panel, watch verdicts stream per test case over a WebSocket. Free to use, no sign-up, works from any browser.

Other C++ versions