Fix std::vector's use of temporary objects