我如何控制std :: ranges :: iota_view返回的值类型?

问题描述 投票:0回答:1
C++ 23介绍了

std::ranges::iota_view

.

可以用作

for

循环的一部分。
for (auto i: std::ranges::iota_view(0, 10))

IT似乎采用两个模板参数。例如,以下将编译。
std::ranges::iota_view<int64_t, int64_t>(0, 10)

第一个模板参数为
W
,应为

std::weakly_incrementable

。第二个模板参数为
Bound
,该参数应为
std::semiregular
这两个模板参数的目的是什么?它们可以用于控制
iota_view

返回的类型吗?

换句话说,在上面的示例中,它们对推论类型有什么影响?

https://en.cppreference.com/w/cpp/ranges/iota_view
..

ITS
c++ std c++20
1个回答
0
投票

auto i <- we start at

在此迭代器上返回类型
template<W, Bound> class iota_view

的值。因此,

std::ranges::iota_view<W, Bound>::iterator循环的值类型由第一个模板参数控制。


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.