Take array of unknown size as input

How can we take an array of unknown size as input. I tried
while(cin>>a)
{
vec.push_back(a);
}
But it’s not giving me the proper size and output.

while(true)
{
cin>>a;
if(a!=null)
{
vec.push_back(a);
}
else{
break;
}
}