online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> #include <vector> class NonMovableAndCopyable { protected: NonMovableAndCopyable() { std::cout << "NonMovableAndCopyable::NonMovableAndCopyable()\n"; } ~NonMovableAndCopyable() = default; NonMovableAndCopyable & operator=(NonMovableAndCopyable &&) = delete; }; class NamedBuffer { public: NamedBuffer(char const *name, uint32_t size) : name(name) , buffer(size) { this->info(); std::cout << "NamedBuffer::NamedBuffer()\n"; } void info() { std::cout << "name : " << this->name << '\n'; std::cout << "size : " << this->buffer.size() << '\n'; } // ... private: std::string name; std::vector<uint8_t> buffer; // ... }; class ExclusiveNamedBuffer : public NamedBuffer, private NonMovableAndCopyable { public: ExclusiveNamedBuffer(char const *name, uint32_t size) // Reverse order : NonMovableAndCopyable() , NamedBuffer(name, size) { // ... } // ... }; int main() { constexpr char const *name = "TestBuffer"; constexpr uint32_t size = 1024; ExclusiveNamedBuffer enb(name, size); // ExclusiveNamedBuffer cenb = enb; // non-copyable // ExclusiveNamedBuffer menb = std::move(enb); // non-movable }

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