online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> #include <initializer_list> namespace x { template <typename T> struct s { private: T * elem = nullptr; int size; public: s(std::initializer_list<T> l) : elem{ new T[l.size()] }, size{ l.size() }{ std::copy(l.begin(), l.end(), elem); } s(const s & _s); size_t getSize() const { return size; } T & operator [] (int i); T * begin(); T * end(); }; template <typename T> T * s<T>::begin() { return &elem[0]; } template <typename T> T * s<T>::end() { return begin() + size; } template <typename T> T & s<T>::operator[](int i) { if (i < 0) throw "Negative value not allowed."; return elem[i]; } template <typename T> s<T>::s(const s & _s) : elem{ new T[size] }, size{ _s.size } { for (int x = 0; x < size; ++x) elem[x] = _s.elem[x]; } } template <typename C, typename V> V sum(const C & c, V v) { for (auto a : c) v += a; return v; } int main() { x::s<int> s0{ 2, 3, 5, 7 }; int a = sum(s0, 0); 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