我已经使用Java很长一段时间了,决定改用C++.我已经写了这样一个列表:
std::list <Player*> players;
Run Code Online (Sandbox Code Playgroud)
我想要做的就是从这个列表中获取一个特定的元素.我记得在Java中调用了一个".get(index)"方法,但我在C++中找不到类似的东西.谁能帮我?谢谢.
该std::list课程不提供随机访问.您可以将其视为链接列表.
对于随机访问,请使用std::vector或std::deque替代.然后你就可以阅读了players[index].
如果您致力于std::list,那么您可以通过将迭代器推进到您需要的位置来获得线性时间随机访问.例如:
std::list<Player*>::const_iterator it = players.begin();
std::advance(it, index);
Run Code Online (Sandbox Code Playgroud)
现在*it指的是你想要的元素.如果您使用的是C++ 11或更高版本,则可以将上述内容缩短为单个语句:
auto it = std::next(players.begin(), index);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |