小编Mos*_*hri的帖子

如何从基于范围的循环中的矢量中删除?

我只想删除基于范围的循环中的指定元素:

vector<int> vec = { 3, 4, 5, 6, 7, 8 };
for (auto & i:vec)
{
    if (i>5)
    vec.erase(&i);
}
Run Code Online (Sandbox Code Playgroud)

怎么了?

vector c++11

10
推荐指数
3
解决办法
1万
查看次数

C++ srand() 循环中的函数

我知道当在循环内调用 srand() 函数时,它将生成不同的随机数,因为srand()在循环内并且循环可能完成不到一秒,因此我们每次都有相同的数字。我的问题是:为什么当它 srand()脱离循环时它可以正常工作?如果循环完成时间不到一秒,那么种子又是,所有数字都相同......但它每次都会改变。尽管种子似乎保持不变。尝试以下代码:

int k = 5;

while (k--)
{
    srand(time(0));
    int num1 = rand() % 6;
    cout << num1 << endl;

}
Run Code Online (Sandbox Code Playgroud)

c++

-2
推荐指数
1
解决办法
4505
查看次数

标签 统计

c++ ×1

c++11 ×1

vector ×1