我正在尝试编写一个通用函数,它将不同数据类型的参数转换并存储到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());
}