szx*_*pmj 12 c++ standards language-design range-v3 c++-experimental
从range-v3的文档中:
view::all
返回包含源中所有元素的范围.用于将容器转换为范围.
让我困惑的是:
view::all
使用?std::vector
,std::list
等)在概念上不是范围吗?例如:
auto coll = std::vector{ 1, 2, 2, 3 };
view::all(coll) | view::unique; // version 1
coll | view::unique; // version 2
Run Code Online (Sandbox Code Playgroud)
有什么区别version 1
和version 2
?
Eri*_*ler 13
Egad,自range-v3切换术语以来,该部分文档尚未更新.是的,容器是一个Range(它有begin()
并且end()
返回一个迭代器/哨兵对).它不是视图(具有O(1)复制/移动的范围).因此,文档view::all
应阅读:
view::all
返回包含源中所有元素的视图.用于将容器转换为视图.
要回答第二个问题,代码中的版本1和版本2之间没有区别.
归档时间: |
|
查看次数: |
227 次 |
最近记录: |