Я пытаюсь написать универсальную функцию, которая приводит и сохраняет аргументы разных типов данных в vector<char>
.Под приведением я имею в виду, что представление битов сохраняется в векторе символов.Например, 4 байта int
, такие как 0x19a4f607
, будут храниться в векторе как vc[0] = 0x19
, vc[1] = 0xa4
, vc[2] = 0xf6
и vc[3] = 0x07
.
Вот что я написал до сих пор, но я получаю ошибку сегментации.Любая идея, как я могу это исправить?
template <class T>
void push_T(vector<char>& vc, T n){
char* cp = (char*)&n;
copy(cp, cp+sizeof(T), vc.end());
}