1、C-Style

for(size_t i =0; i < players.size(); i++)
{
    if(players[i].hp == 0.f) players[i].hp = 100.f;
}

2、C++11

for(auto& player : players)
{
    if(player.hp == 0.f) player.hp = 100.f;
}

3、std::for_each(), C++17

std::for_each(std::execution::par_unseq, players.begin(), players.end(), [](auto& player) {
    if(player.hp == 0.f) player.hp = 100.f;
});

4、C++20

auto dead_players = players | std::views::filter([](const auto& p) {
    return p.hp == 0.f;
});
std::ranges::for_each(dead_players, [](auto& p) { p.hp = 100.f; });

 

标签: none

添加新评论