我看到這個早些時候,它沒有任何意義,我:這個函數對矢量的使用是無用的嗎?
void generate(std::vector<float> v)
{
float f = generate_next_float();
v.push_back(f);
}
如果v
作爲參考或指針,這將是有意義發送。但相反,它是通過價值發送的,因此被複制到該函數中,對嗎?因此,對v
所做的任何操作都會在函數終止時立即失效,v
超出範圍並被刪除。
我對不對?
也就是說,功能generate_next_float()
可能會做一些事情,所以不是無用的,但在這裏使用vector
似乎毫無意義。 f
不依賴於它,並且不返回任何內容。
取決於什麼副作用'generate_next_float()'了。 – 2013-04-05 00:34:29
對,我編輯的問題和標題,以指定我指的是矢量 – johnbakers 2013-04-05 00:36:55
我想知道你在哪裏看到這個?它看起來像多出來的代碼;有人忘記包含'&'。 – 2013-04-05 00:37:01