我正在尝试编写一个通用函数,它将不同数据类型的参数转换并存储到vector<char>. 通过强制转换,我的意思是位表示保留在字符向量中。例如,一个 4 字节的int诸如0x19a4f607将存储在向量中,如vc[0] = 0x19、和。vc[1] = 0xa4vc[2] = 0xf6vc[3] = 0x07
这是我到目前为止所写的,但是我遇到了分段错误。知道如何解决这个问题吗?
template <class T>
void push_T(vector<char>& vc, T n){
char* cp = (char*)&n;
copy(cp, cp+sizeof(T), vc.end());
}