Estoy tratando de serializar binariamente los datos del vector. En este ejemplo a continuación, serializo una cadena y luego deserializo de nuevo a un vector, pero no obtengo la misma información con la que comencé. ¿Por qué es este el caso?serialización de vectores
vector<size_t> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
string s((char*)(&v[0]), 3 * sizeof(size_t));
vector<size_t> w(3);
strncpy((char*)(&w[0]), s.c_str(), 3 * sizeof(size_t));
for (size_t i = 0; i < w.size(); ++i) {
cout << w[i] << endl;
}
que esperar para obtener la salida
1
2
3
pero en lugar de obtener la salida
1
0
0
(en gcc-4.5.1)
@Mark: No creo que sea el caso. –