Текущий std::vector
не предоставляет никаких возможностей или интерфейса для владения ранее выделенным хранилищем. Предположительно было бы слишком легко передать адрес стека случайно, что позволило бы решить больше проблем, чем решило.
Если вы хотите избежать копирования в вектор, вам нужно либо использовать векторы по всей цепочке вызовов, либо делать это C с float[]
все время. Вы не можете смешивать их. Вы можете гарантировать, что &vec[0]
будет эквивалентен массиву C, хотя и будет полностью смежным, поэтому возможно использование вектора во всей программе.