Ev Kişisel Finans C ++ Programlama: Bir Listeden Yola Çıkın - mankenler

C ++ Programlama: Bir Listeden Yola Çıkın - mankenler

Video: Section, Week 2 2024

Video: Section, Week 2 2024
Anonim

C ++ programcısı, her öğenin dizinini sağlayarak bir dizi üzerinden yineledi. Bununla birlikte, bu teknik, liste gibi, rastgele erişime izin vermeyen kaplar için çalışmaz. Bir yöntemi, getFirst () ve getNext () gibi yöntemleri temel alan bir çözüm düşünebiliriz; Bununla birlikte, Standart Şablon Kütüphanesi tasarımcıları her tür konteyneri geçmek için ortak bir yöntem sunmak istediler.

Bunun için Standart Template Library yineleyiciyi tanımlar.

Bir yineleyici , bir kabın üyelerine işaret eden bir nesnedir. Genel olarak, her iterator aşağıdaki işlevleri desteklemektedir:

  • Bir sınıf, koleksiyonun ilk üyesini işaret eden bir yineleyici döndürebilir.

  • Yineleyici bir üyeden diğerine taşınabilir.

  • Yineleyici, listenin sonuna geldiğinde bir gösterge döndürür.

  • Program yineleyicinin gösterdiği elemanı alabilir.

Standart Şablon Kütüphanesi, geriye dönük olarak listeler arasında geçiş yapmak için ters yineleyiciler de sağlar. Yineleyicilerle ilgili her şey ters yineleyiciler için eşit derecede geçerlidir.

Bir listesinden yinelemek için gerekli olan kod, vektörünü () geçmek için gerekli olan koddan farklıdır (sadece iki örnek vermek gerekirse). Bununla birlikte, yineleyici bu ayrıntıları gizler.

begin () yöntemi, bir listenin ilk öğesini gösteren bir yineleyiciyi döndürür. Yönlendirme işleci * (), yineleyicinin işaret ettiği nesneye bir başvuru alır. ++ işleci yineleyiciyi listedeki bir sonraki öğeye taşır.

Bir program yineleyici, end () tarafından döndürülen değere eşit olana kadar liste boyunca ilerlemeye devam eder. Aşağıdaki kod parçacığı bir öğrenci listesinin başında başlar ve adlarının her birini görüntüler:

void displayStudents (liste ve öğrenciler) {// list listesinin ilk // öğesine işaret eden yineleyiciyi ayırır:: iterator iter = öğrenciler. başla(); // (iter! = students. end ()) {// yineleyicinin Student'ı ve s = * iter öğesini döndürdüğü sırada // yineleyicinin listenin sonuna gelene kadar listede dolaşmaya devam edin; cout << s. AdName << endl; // şimdi yineleyiciyi bir sonraki öğeye taşımak // listedeki // iter ++;}}

Yineleyiciler için bildirimler çok karmaşık hale gelebilir. (Otomatik iter = öğrenciler begin (); iter! = Öğrenciler için '11 standardı: ile tanıtılan auto

bildiriminin muhtemelen en iyi gerekçesi budur. 

Bu yordamı, önceki kod parçasında gösterilen işkence edilen bildirimlerin kullanılmasını önleyerek, liste:: begin () , yöntemi tarafından döndürülen türün her birinin yineleyicisi olacağını bildirir.Ne kadar serin!

C ++ Programlama: Bir Listeden Yola Çıkın - mankenler

Editörün Seçimi

Kendi Excel 2007 Şablonlarınızı Oluşturun - mankenler

Kendi Excel 2007 Şablonlarınızı Oluşturun - mankenler

Hazır bir Excel 2007 şablonunu bulamazsanız faturaya uyuyor, oluşturduğunuz veya şirketinizin elinde bulunan örnek çalışma kitaplarından kendi şablonlarınızı oluşturuyor. Kendi şablonunuzu oluşturmanın en kolay yolu, gerçek bir çalışma kitabı prototipi oluşturmak ve dosyayı şablon dosyası biçimini kullanarak kaydedin ...

Kendi Excel 2010 Şablonlarınızı Oluşturma - mankenler

Kendi Excel 2010 Şablonlarınızı Oluşturma - mankenler

Hazır Excel 2010 şablonunu bulamazsanız faturaya uyuyor, oluşturduğunuz veya şirketinizin elinde bulunan örnek çalışma kitaplarından kendi şablonlarınızı oluşturuyor. Kendi şablonunuzu oluşturmanın en kolay yolu, gerçek bir çalışma kitabı prototipi oluşturmak ve dosyayı şablon dosyası biçimini kullanarak kaydedin ...

Excel 2007 Grafiğinin Tipini ve Stilini özelleştiren - aumluları

Excel 2007 Grafiğinin Tipini ve Stilini özelleştiren - aumluları

Bir grafik eklediğinizde bir Excel 2007 çalışma kitabı, Şeritte yeni bir Grafik Araçları Tasarım sekmesi görüntülenir. Grafik türünü ve stilini özelleştirmek için Grafik Araçları Tasarım sekmesindeki komut düğmelerini kullanabilirsiniz. Tasarım sekmesi aşağıdaki düğme gruplarını içerir: Tür grubu Değiştir Grafik Türü ...

Editörün Seçimi

ÜÇüncü Temel, Çalınma Evini ve Diğer Beyzbol Beyitlerini Çalın

ÜÇüncü Temel, Çalınma Evini ve Diğer Beyzbol Beyitlerini Çalın

ÜÇüncü temel çalmak genellikle ikinci çalmaktan daha kolaydır. Birçok atış çizmeden ilk önce olduğundan daha büyük bir yol alabilirsin. Zamanlamanız iyi ise, atıcı topu bırakmadan önce saniyelerden de çıkabilirsiniz. Sürahi genellikle koşucuları ikinci sıradan seçmek daha zor olur ...

Basketbol Takımınızda Bir Balo Domuzuyla

Basketbol Takımınızda Bir Balo Domuzuyla

Balo domuzu - asılı bir oyuncu uzun süreler boyunca topa vurur ve geçmek yerine her yere ateş etmeyi amaçlar - tüm takım için gerçek sorunlar yaratır. Örneğin, topu domuzu, takımın moralini zayıflatan ve öldüren puan almaya çalışan açık takım arkadaşlarını görmezden gelir ...

Editörün Seçimi

Canon EOS 6D'ye Yazar Adı Nasıl Eklenir Canon EOS 6D'ye Yazar Adı Nasıl Eklenir

Canon EOS 6D'ye Yazar Adı Nasıl Eklenir Canon EOS 6D'ye Yazar Adı Nasıl Eklenir

Adınızı aşağıdaki gibi ekleyebilirsiniz: Canon'la çektiğiniz her görüntünün yazarı. Bilgiler, çektiğiniz her resme EXIF ​​verisi olarak eklenir. Yazar bilgilerinizi kameraya kaydetmek için: Menü düğmesine basın. Daha önce kullanılan menü görüntülenir. Kamera Ayarları ... 4 ...

Rebel T6i / 750D'den Görüntülere Nasıl Temizleme Talimatları Ekleyeceksiniz - mankenler

Rebel T6i / 750D'den Görüntülere Nasıl Temizleme Talimatları Ekleyeceksiniz - mankenler

Küçük noktalar görüntülerinizde tutarlı bir şekilde görünüyorsa ve Rebel T6i / 750D'nin lensindeki kirin nedeni değilse - sensörünüzün temizlemeye ihtiyacı olabilir. Sensörü kendiniz temizlemeyin, çünkü ne yaptığınızı bilmiyorsanız makinenizi kolayca mahvedebilirsiniz. Bunun yerine, fotoğraf makinesini çekin ...