私はこれを以前に見ましたが、私には意味がありません:
void generate(std::vector<float> v)
{
float f = generate_next_float();
v.push_back(f);
}
v参照またはポインターとして送信された場合、それは理にかなっています。しかし、代わりに値によって送信されるため、関数にコピーされますよね? したがってv、関数が終了するとすぐに役に立たなくなり、これvは範囲外になり、削除されます。
私は正しいですか?
つまり、関数generate_next_float()は何かを行う可能性があるため、役に立たないわけではありませんが、vectorここでの使用は無意味に思えます。f依存せず、何も返されません。