lundi 4 juillet 2016

C++11/14 convert std::uint32 to std::vector

I would like to convert std::uint32 to std::vector<std::uint8> in a better way than this:

std::uint32_t base_rva = 0xcc00dd00;
std::vector<std::uint8_t> raw_data;

//copying base_rva to raw_data
raw_data.resize(sizeof(base_rva));
std::memcpy(raw_data.data(), &base_rva, sizeof(base_rva));
for (auto& base_rva_byte : raw_data)
    raw_data.push_back(base_rva_byte);

I was looking for something like:

std::vector<std::uint8_t> raw_data((std::uint8_t*)&m_base_rva, sizeof(m_base_rva));

Any suggestions?

Aucun commentaire:

Enregistrer un commentaire