Rumah Kewangan Peribadi C ++ Pengaturcaraan: Buat Jalan Anda melalui Senarai - monyet

C ++ Pengaturcaraan: Buat Jalan Anda melalui Senarai - monyet

Video: Visual C++: Creating an Executable (.exe) File (2010) 2025

Video: Visual C++: Creating an Executable (.exe) File (2010) 2025
Anonim

Pengaturcara C ++ melintang melalui array dengan menyediakan indeks setiap elemen. Walau bagaimanapun, teknik ini tidak berfungsi untuk bekas seperti senarai yang tidak membenarkan akses rawak. Kita boleh membayangkan penyelesaian yang berasaskan kaedah seperti getFirst () dan getNext () ; bagaimanapun, para pereka Perpustakaan Templat Standard ingin menyediakan kaedah yang biasa untuk melintasi mana-mana jenis bekas.

Untuk ini, Perpustakaan Templat Standard mentakrifkan penyesuai itu.

An iterator adalah objek yang menunjuk kepada ahli-ahli sebuah bekas. Secara umum, setiap iterator menyokong fungsi berikut:

  • Kelas boleh mengembalikan penyesuai yang menunjuk kepada ahli kumpulan pertama.

  • Pemula boleh dipindahkan dari satu anggota ke seterusnya.

  • Iterator mengembalikan tanda apabila ia sampai ke akhir senarai.

  • Program ini boleh mengambil elemen yang ditunjuk oleh penyesuai.

Perpustakaan Templat Standard juga menyediakan pembalik berulang untuk bergerak mundur melalui senarai. Segala sesuatu di sini mengenai iterator juga digunakan untuk reverser iterators.

Kod yang perlu untuk berulang melalui senarai adalah berbeza daripada yang diperlukan untuk melintasi vektor (untuk menamakan hanya dua contoh). Walau bagaimanapun, penganalisis menyembunyikan butiran ini.

Kaedah mula () mengembalikan penyesuai yang menunjuk kepada elemen pertama senarai. Operator indirection * () mengambil rujukan kepada objek yang ditunjukkan oleh penyerang. Operator ++ memindahkan penyesuai ke elemen seterusnya dalam senarai.

Program terus meningkat melalui senarai sehingga penyesuai adalah sama dengan nilai yang dikembalikan pada akhir () . Coretan kod berikut bermula pada permulaan senarai pelajar dan memaparkan setiap nama mereka:

void displayStudents (senarai & pelajar) {// memperuntukkan penyesuai yang menunjuk ke elemen // pertama dalam senarai senarai:: iterator iter = pelajar. mulakan (); / / terus gelung melalui senarai sehingga // iterator menjejaskan akhir senarai sementara (iter! = pelajar akhir ()) {// mendapatkan Pelajar titik permulaan di Pelajar & s = * iter; cout << s. sName << endl; / // kini mengalihkan penyesaran ke elemen seterusnya // dalam senarai iter ++;}}

Pernyataan untuk lelaran boleh menjadi sangat kompleks. Ini mungkin pembenaran terbaik untuk deklarasi auto yang diperkenalkan dengan standard '11:

untuk (auto iter = pelajar.) Bermula (); 

Ini mengisytiharkan ia menjadi pemula jenis apa sahaja yang dikembalikan oleh senarai kaedah:: begin () , mengelakkan perisytiharan penyiksaan yang ditunjukkan dalam coretan kod sebelumnya.Betapa sejuknya!

C ++ Pengaturcaraan: Buat Jalan Anda melalui Senarai - monyet

Pilihan Editor

5 Perkara yang boleh dilakukan oleh GoPro Camera - dummies

5 Perkara yang boleh dilakukan oleh GoPro Camera - dummies

Apa yang boleh dilakukan oleh GoPro? Inilah soalan yang lebih relevan: Apa yang anda mahu lakukan? Meminta soalan ini lebih seperti menanyakan diri anda tentang keinginan dan hasrat anda sendiri untuk rakaman video yang unik. Apabila anda menentukan apa yang anda ingin tangkap, semua yang anda perlu lakukan ialah menyambungkan kamera ke gunung yang sesuai ...

Pengaturan & Pintasan dSLR Untuk Menipu Cheat Sheet - dummies

Pengaturan & Pintasan dSLR Untuk Menipu Cheat Sheet - dummies

Anda mempunyai refleks kanta tunggal digital yang besar (dSLR ) kamera dan mahu menangkap beberapa gambar indah masa-masa hidup anda. Untuk sepenuhnya menguasai dSLR anda dan membuat gambar yang menarik, anda mesti menceburkan diri ke dunia baru yang berani yang melibatkan membuat keputusan tentang mod penangkapan. Mengetahui panjang fokus apa yang digunakan dalam ...

Pilihan Editor

Bagaimana Menggunakan Lapisan Masker Gradient dan Brush Masker di Photoshop CS6 - lapisan masker

Bagaimana Menggunakan Lapisan Masker Gradient dan Brush Masker di Photoshop CS6 - lapisan masker

Lapisan lapisan di Photoshop CS6 membolehkan anda secara beransur-ansur berus dalam ketelusan dan kelegapan pada asas pixel selektif. Dua alat pelapis lapisan - Alat Gradien dan Brush - lebih kerap digunakan berbanding yang lain: Alat Gradien: Menetapkan alat ini kepada kecerunan linear hitam ke putih atau putih ke ...

Cara Menggunakan Kuler untuk Cari dan Kongsi Tema Warna di Photoshop CS6 - dummies

Cara Menggunakan Kuler untuk Cari dan Kongsi Tema Warna di Photoshop CS6 - dummies

Sumber yang tersedia untuk Adobe Photoshop Creative Suite 6 adalah luas. Kuler adalah komuniti dalam talian yang menyediakan tema warna untuk anda menyemak imbas, memuat turun, membuat, mengedit, dan memuat naik untuk berkongsi dengan orang lain. Gunakan tema ini apabila membuat projek cetak grafik atau laman web. Apa yang anda perlukan ialah sambungan Internet dan Adobe ID. Di sini ...

Cara Menggunakan Kata Kunci untuk Photoshop CS6 Files dalam Bridge - dummies

Cara Menggunakan Kata Kunci untuk Photoshop CS6 Files dalam Bridge - dummies

Kata kunci adalah label deskriptif yang anda lampirkan ke fail di Bridge. Mereka membantu untuk mengkategorikan imej Photoshop CS6 anda, membolehkan anda lebih cekap dan cepat mencari fail yang anda inginkan. Berikut adalah downside untuk membuat dan menggunakan kata kunci: Untuk membuat kata kunci baru (folder kategori yang mengandungi kata kunci): Klik ikon tanda tambah (+) ...

Pilihan Editor

Dengan Touch dengan Nota Reka bentuk - dummies

Dengan Touch dengan Nota Reka bentuk - dummies

Nota reka bentuk adalah sesuai untuk berkomunikasi dengan pemaju lain yang bekerja pada Laman web, tetapi tidak dalam jarak menjerit. Ciri Dreamweaver ini berfungsi seperti tag komen (kod HTML yang membolehkan anda memasukkan teks dalam halaman yang tidak akan dipaparkan dalam penyemak imbas) tetapi dengan privasi lebih banyak. Ramai pemaju menggunakan ...

Memenuhi Dreamweaver CS3 Common Insert Bar - dummies

Memenuhi Dreamweaver CS3 Common Insert Bar - dummies

Jangan berfikir bahawa toolbar Dreamweaver CS3 Common Insert biasa dan biasa. Ia hanya dipanggil "umum" kerana ia menawarkan perintah memasukkan yang paling kerap digunakan kerana ia adalah yang paling berguna. Dengan bilah alat yang ditunjukkan di sini, anda boleh memasukkan segala-galanya dari pautan e-mel kepada tarikh kepada mana-mana media yang ingin anda letakkan ...

Gambaran Keseluruhan Alignment Imej dalam Adobe CS5 Dreamweaver - dummies

Gambaran Keseluruhan Alignment Imej dalam Adobe CS5 Dreamweaver - dummies

Penjajaran imej dan teks bersebelahan mereka di Adobe Suite Creative 5 (Adobe CS5) Dreamweaver adalah mudah, tetapi pilihan yang ada mungkin membuat kelihatan terlalu rumit. Imej dan teks bersebelahan mereka duduk pada garis dasar yang sama sebagai lalai, memaksa teks berjalan dalam satu baris ke kanan imej. Untuk ...