Will the following program give undefined behaviour?
#include <vector>
#include <cstring>
struct Data
{
float a;
float b;
int z;
};
int main()
{
std::vector<char> allMyData;
Data someStuff({.2f,.3f,1});
allMyData.resize(sizeof(Data));
std::memcpy(&allMyData[0], &someStuff, sizeof(Data));
return 0;
}