相关疑难解决方法(0)

如何编写使用临时容器的范围管道?

我有这个签名的第三方功能:

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如何支持这样的范围管道?

c++ range-v3

55
推荐指数
5
解决办法
2275
查看次数

右值参考的生命周期

我认为我对理解右值参考有问题.什么是这种建筑的寿命和使用.

int&& value = 5;
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,5是右值对象(我不能接受它的地址)并且它是临时的 - 生命周期是当前表达式的结束.将它分配给右值参考以某种方式延长寿命吗?如果是,那么对象的新生命周期是多少?

c++

5
推荐指数
1
解决办法
890
查看次数

标签 统计

c++ ×2

range-v3 ×1