就像标题一样.至少我知道数组可能不是我想要的.在我想从数组中随机选取一个项目之前,我需要生成一个随机索引.对于你的意见.
我已经将我的问题的标题改为"我应该选择哪个stl容器如果我需要从容器中随机获取一个项目".我真正找到的是一个cotain,让我们说C,这个Contain应该有方法,比方说,get_ramdom_member(),这将帮助我从Container C中随机获取一个项目,而不提供任何密钥.
@binary:我在容器中存储的实际上是socket fd.套接字的另一端是"erlang节点".几个erlang节点进一步作为一个集群.所以我将所有套接字fds存储到一个容器中.每次我需要与集群交谈时,我都需要选择一个fd.出于负载共享的目的,我需要随机获取一个.我不能告诉你们容器需要维护的确切数量,但目前它还不到10个.但是谁知道这个数字是否会在某天后达到1000.
小智 5
从你提供的信息来看,这并不是很明显的答案std::vector.这将使您可以随机访问元素.关于标准容器的好处是你可以用相对较少的努力在它们之间进行更改,因此如果vector没有平移,你可以更改为另一个容器而无需重新编写所有代码.
如果您只想随机化容器的内容,请参阅std :: random_shuffle.