#include <iostream>
#include <array>
#include <algorithm>
template<typename T>
auto serialize(T n) -> std::array<unsigned char, sizeof n>
{
std::array<unsigned char, sizeof n> bytes;
std::copy(reinterpret_cast<const char *>(&n),
reinterpret_cast<const char *>(&n) + sizeof n,
bytes.begin());
return bytes;
}
int main()
{
auto arr = serialize(static_cast<uint64_t>(0x123456));
for (auto byte : arr)
std::cout << std::hex << +byte << " ";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxhbGdvcml0aG0+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgphdXRvIHNlcmlhbGl6ZShUIG4pIC0+IHN0ZDo6YXJyYXk8dW5zaWduZWQgY2hhciwgc2l6ZW9mIG4+CnsKICAgIHN0ZDo6YXJyYXk8dW5zaWduZWQgY2hhciwgc2l6ZW9mIG4+IGJ5dGVzOwogICAgc3RkOjpjb3B5KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhciAqPigmbiksCiAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyICo+KCZuKSArIHNpemVvZiBuLAogICAgICAgICAgICAgIGJ5dGVzLmJlZ2luKCkpOwogICAgcmV0dXJuIGJ5dGVzOwp9CgppbnQgbWFpbigpCnsKCWF1dG8gYXJyID0gc2VyaWFsaXplKHN0YXRpY19jYXN0PHVpbnQ2NF90PigweDEyMzQ1NikpOwogICAgZm9yIChhdXRvIGJ5dGUgOiBhcnIpCiAgICAgICAgc3RkOjpjb3V0IDw8IHN0ZDo6aGV4IDw8ICtieXRlIDw8ICIgIjsKfQ==