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