Giriş
C++20 ile geliyor. Bu metodun kardeşi de std::ranges::iota_view(). Bu metod aslında muhtemelen arka tarafta bir iterator döndürüyor. Nasıl gerçekleştirildiği burada
std::iota() ile farkı
C++11 ile gelen std::iota() bir veri yapısını doldurur. Şöyle yaparız
Örnek
Şöyle yaparız
Şöyle yaparız
C++20 ile geliyor. Bu metodun kardeşi de std::ranges::iota_view(). Bu metod aslında muhtemelen arka tarafta bir iterator döndürüyor. Nasıl gerçekleştirildiği burada
std::iota() ile farkı
C++11 ile gelen std::iota() bir veri yapısını doldurur. Şöyle yaparız
#include <vector>
#include <numeric> // std::iota
std::vector<int> makeRange(const int start, const int end) noexcept
{
std::vector<int> vecRange(end - start);
std::iota(vecRange.begin(), vecRange.end(), start);
return vecRange;
}
KullanımÖrnek
Şöyle yaparız
for (int const i : std::views::iota(0, 10))
{
std::cout << i << " "; // ok
}
ÖrnekŞöyle yaparız
std::vector<int> const v = ...;
auto const indices = std::views::iota(0u, u.size()) | std::views::common;
Daha sonra sayıları kullanmak için şöyle yaparızstd::begin(indices), std::end(indices)
Hiç yorum yok:
Yorum Gönder