范围将随着 C++20 标准版本进入 C++。
我的问题:我们是否能够构建(现有)任何范围的标准库容器?更重要的是,具有范围视图?
例如,这会不会:
#include <vector>
#include <iostream>
#include <ranges>
int main() {
auto sq = [](int x) { return x * x; };
std::vector<int> vec { 3, 4, 5 };
std::vector<int> squares { std::ranges::views::transform(vec, sq) };
for(auto i : squares) { std::cout << i << ' '; }
std::cout << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
是一个打印的有效程序9 16 25?
这与 range-v3 库一起编译,这是值得的。