25 Ağustos 2015 Salı

STL Stream Iteratorleri

Giriş
Iteratorler veriyapıları üzerinde yürümek için kullanılırlar. Ancak STL stream (akım) ile iteratorleri birleştirmemizi sağlayan adaptor şeklinde iteratorler de sağlıyor.

Genellikle std::copy veya std::transform algoritmaları ile kullanılırlar

istream_iterator sınıfı
istream_iterator yazısına taşıdım.

ostream_iterator
Akıma yazma yapmayı sağlar.

C array'ini yazma örneği
std::copy(std::begin(a), std::end(a),
    std::ostream_iterator<int>(std::cout, " "));
STL Veriyapısına yazma örneği
std::copy(a.begin(), a.end(),
    std::ostream_iterator<int>(std::cout, " "));
Cout'a yazmak örneği
std::ostream_iterator<int, char> out_iter2(std::cout, " " );
std::transform(osd.begin(), 
               osd.end(), 
               out_iter2, 
               [] (int* x) { return *x; }
              );




Hiç yorum yok:

Yorum Gönder