我有这个签名的第三方功能:
std::vector<T> f(T t);
Run Code Online (Sandbox Code Playgroud)
我还有一个已命名的潜在无限范围(范围-v3排序).我想创建一个映射到该范围的所有元素的管道,并将所有向量展平为包含其所有元素的单个范围.Tsrcf
本能地,我会写下面的内容.
auto rng = src | view::transform(f) | view::join;
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为我们无法创建临时容器的视图.
range-v3如何支持这样的范围管道?
我认为我对理解右值参考有问题.什么是这种建筑的寿命和使用.
int&& value = 5;
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,5是右值对象(我不能接受它的地址)并且它是临时的 - 生命周期是当前表达式的结束.将它分配给右值参考以某种方式延长寿命吗?如果是,那么对象的新生命周期是多少?