そもそも
std::vector<double> vec { 3, 4, 5, 6 };
とできるし、
C++98なら
std::vector<double> vec(data, *(&data + 1));
だろ