C++ 返回范围的函数的返回类型是什么?

C++ 返回范围的函数的返回类型是什么?,c++,range-v3,return-type-deduction,C++,Range V3,Return Type Deduction,此函数可以按原样编译自动在这里运行良好。但是这样一个函数的显式返回类型是什么呢 auto rangeTest() { static const std::vector<int> vi{1,2,3,4,5,6,7,8,9,10}; auto rng = vi | ranges::view::remove_if([](int i){return i % 2 == 1;}) | ranges::view::transf

此函数可以按原样编译<代码>自动在这里运行良好。但是这样一个函数的显式返回类型是什么呢

auto rangeTest()
    {
        static const std::vector<int> vi{1,2,3,4,5,6,7,8,9,10};
        auto rng = vi | ranges::view::remove_if([](int i){return i % 2 == 1;})
                | ranges::view::transform([](int i){return std::to_string(i);});
        return rng;
    }
自动范围测试()
{
静态常数std::向量vi{1,2,3,4,5,6,7,8,9,10};
auto rng=vi | ranges::view::remove_if([](int i){return i%2==1;})
|ranges::view::transform([](int i){return std::to_string(i);});
返回rng;
}

“此类功能”是一个通用概念。范围库有自己的类。在这种情况下,我希望
return std::to_string(I)
预测返回类型。为什么要进行向下投票?我认为这是一个公平的问题。如果我使用gdb来观察
rng
的类型,那么行比注释长(而且肯定不是
字符串
)。如果我需要给这个函数指定一个显式类型,这将非常“不方便”;模板结构调试;/*没有定义的类的显式实例化*/。一个不可理解的问题是一个糟糕的问题。坏问题=>投票否决(如果懒惰)或编辑。Pro-Tip:只需将返回值指定给不兼容的内容,并解密
No从${your type}转换为${…}
编译器错误。