r w*_*bby 0 c++ range-v3
rangev3 ts中"范围"和"视图"之间的区别是什么?
在G搜索上找不到任何类似的答案.猜猜我正在努力解决每个人应该做的事情:
是这样的(在c ++中说)范围'是'a'视图,反之亦然?
它只是一个视图是只读范围吗?或者也许是范围中的"元素"(当你取消引用迭代器时得到的)是const而不是另一个?
谢谢!
Bar*_*rry 5
从文档中,范围是:
范围可以松散地考虑一对迭代器,尽管它们不需要以这种方式实现.
和:
视图是一个轻量级的包装器,它以某种自定义方式呈现元素的基础序列视图,而不会发生变异或复制.视图创建和复制起来很便宜,并且具有非拥有的引用语义.
视图是一个范围,只是有更多的限制.
TS中更正式的定义包括Range和View概念.基本上,范围是可迭代的,并且视图是半规则的范围并且具有恒定时间复制/移动/赋值/开始/结束/ ...
例如,std::vector<char>,std::string,和std::string_view全范围,但只有最后一个也是视图.
std::vector<char>
std::string
std::string_view
归档时间:
8 年,3 月 前
查看次数:
123 次
最近记录: