(특히 is ) generate_my_range
를 모델링 하는 클래스가 있다고 가정하십시오 . 그런 다음 다음 코드가 맞습니다.range
regular
auto generate_my_range(int some_param) {
auto my_transform_op = [](const auto& x){ return do_sth(x); };
return my_custom_rng_gen(some_param) | ranges::views::transform(my_transform_op);
}
auto cells = generate_my_range(10) | ranges::to<std::vector>;
가요 my_custom_rng_gen(some_param)
I는두고 일단 (제 1) 파이프 조작자 취한 값, 또는 I가 매달려 참조가 수행 generate_my_range
범위?
기능 호출과 동일 ranges::views::transform(my_custom_rng_gen(some_param),my_transform_op)
합니까?
lvalue 참조를 사용하면 정확합니까? 예 :
auto generate_my_range(int some_param) {
auto my_transform_op = [](const auto& x){ return do_sth(x); };
auto tmp_ref = my_custom_rng_gen(some_param);
return tmp_ref | ranges::views::transform(my_transform_op);
}
이러한 작업의 값으로 범위를 가져 가면 lvalue 참조를 컨테이너에 전달하면 어떻게해야합니까? ranges::views::all(my_container)
패턴을 사용해야합니까 ?