#include <iostream>
#include <cstdio>
template<uint32_t N>
class NamedFixedBuffer
{
public:
NamedFixedBuffer(char const *n)
: name(n)
, size(N)
, buffer()
{
this->info();
}
void info()
{
std::cout << "name : " << this->name << '\n';
std::cout << "size : " << this->size << '\n';
}
void print()
{
for (uint32_t i = 0; i < this->size; ++i)
{
printf("0x%02X ", buffer[i]);
// ...
}
}
// ...
private:
std::string name;
uint32_t size;
uint8_t buffer[N];
// ...
};
int main()
{
constexpr char const *name = "TestBuffer";
constexpr uint32_t size = 16;
NamedFixedBuffer<size> nfb(name);
nfb.print();
}