#include <iostream>
#include <memory>
class NamedBuffer
{
public:
// default ctor
NamedBuffer()
: NamedBuffer("Defualt", 256) // delegation
{
}
NamedBuffer(char const *n, uint32_t s)
: name(n)
, size(s)
, buffer(std::make_unique<uint8_t[]>(size))
{
this->info();
}
void info()
{
std::cout << "name : " << this->name << '\n';
std::cout << "size : " << this->size << '\n';
}
// ...
private:
std::string name;
uint32_t size;
std::unique_ptr<uint8_t[]> buffer;
// ...
};
int main()
{
constexpr char const *name = "TestBuffer";
constexpr uint32_t size = 1024;
NamedBuffer nb1(name, size);
NamedBuffer nb2;
}