有没有比反转两次更好的方法来使用 c++20 范围删除容器中的最后一个元素?
#include <iostream>
#include <vector>
#include <ranges>
int main()
{
std::vector<int> foo{1, 2, 3, 4, 5, 6};
for (const auto& d: foo | std::ranges::views::reverse
| std::ranges::views::drop(1)
| std::ranges::views::reverse)
{
std::cout << d << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)