Rumah Keuangan Pribadi Pengetik yang sangat diketik dalam pemrograman C ++ - dummies

Pengetik yang sangat diketik dalam pemrograman C ++ - dummies

Video: Enumerasi TSP/PSP NusaBarung 2024

Video: Enumerasi TSP/PSP NusaBarung 2024
Anonim

Pemrograman adalah semua tentang keterbacaan. Ini sulit (sebenarnya tidak mungkin) menulis dan memelihara program yang tidak bisa Anda baca. Bagian dari membaca daftar kode sumber adalah memahami apa yang digunakan dalam program. Bantuan paling dasar yang diberikan C ++ adalah #define yang ada di mana-mana, seperti contoh berikut yang dikutip:

#define PI 3. 141592653589793

Solusi ini tidak masalah untuk nilai individual, meskipun ia merasa bahwa #define mekanisme tidak (benar-benar berbicara) bagian dari C / C + + sejak preprocessor berjalan sebelum compiler. Sebagai tanggapan terhadap hal tersebut, C ++ 2011 memperkenalkan konstruk konstan :

constexpr long double PI = 3. 141592653589793;

Kata kunci constexpr membawa konstanta ke dalam tenda C + +. PI ini memiliki tipe yang nyata, seperti variabel C ++ lainnya. C ++ dapat menghasilkan pesan kesalahan dengan PI yang lebih masuk akal daripada yang melibatkan 3. 14159.

Ungkapan konstan baik untuk nilai konstan individu, namun sering kali konstanta mewakili himpunan benda dan bukan konstanta alami, seperti pada contoh berikut:

#define DC_OR_TERRITORY 0 #define ALABAMA 1 #define ALASKA 2 #define ARKANSAS 3 // … dan seterusnya …

Mungkin konstanta ini digunakan untuk mengidentifikasi negara bagian, mungkin digunakan sebagai sebuah indeks ke dalam array objek negara atau sebagai nilai dalam database di suatu tempat.

C ++ telah lama memiliki mekanisme yang lebih baik untuk menentukan jenis konstanta ini - enumerasi:

enum STATE {DC_OR_TERRITORY, // mendapatkan 0 ALABAMA, // mendapatkan 1 ALASKA, // mendapatkan 2 ARKANSAS, // … dan seterusnya …};

Kata kunci enum mengenalkan rangkaian konstanta yang disebut "enumerasi". Dalam hal ini, pencacahan tersebut membawa nama NEGARA. Setiap elemen dari enumerasi ini diberi nilai mulai dari 0 dan meningkat secara berurutan sebesar 1, jadi DC_OR_TERRITORY didefinisikan sebagai 0, ALABAMA didefinisikan sebagai 1, dan seterusnya. Anda dapat mengganti urutan tambahan ini dengan menggunakan pernyataan assign sebagai berikut:

enum STATE {DC, TERRITORY = 0, ALABAMA, ALASKA, // … dan seterusnya …};

Versi NEGARA ini mendefinisikan sebuah elemen DC, yang diberi nilai 0. Kemudian mendefinisikan elemen baru TERRITORY, yang juga diberi nilai 0. ALABAMA mengambil 1, sama seperti sebelumnya.

Dalam prakteknya, pemrogram dapat menggunakan enumerasi untuk menulis kode yang cukup mudah dibaca seperti berikut ini:

pajak dua kali pajak (NEGARA) {return tax pricesByState [s];}

Satu-satunya masalah dengan pendekatan ini adalah bahwa penghitungan ini tidak menciptakan tipe baru (seperti yang mungkin Anda pikirkan).Sebenarnya, menurut standarnya, STATE hanyalah nama lain untuk int - dan konstanta ALABAMA, ALASKA, dan seterusnya adalah tipe int const.

Kompiler gcc sebenarnya menyediakan enum yang dideklarasikan dengan cara ini sedikit lebih banyak otoritas daripada hanya menyebutnya bentuk int lain. Anda sebenarnya dapat membebani fungsi berdasarkan tipe enum:

void fn (STATE s); void fn (int n); fn (ALASKA); // invokes fn (STATE)

Standar 2011 memungkinkan programmer membuat tipe yang sama sekali baru dengan menggunakan kata kunci enum. Karena pencipta standar baru tidak ingin melanggar kode yang ada, standar memerlukan penambahan kata kunci tambahan untuk menentukan jenis enumerasi, seperti pada contoh berikut:

kelas enum NEGARA {DC, TERRITORY = 0, ALABAMA, ALASKA, // … dan seterusnya …};

Kelas enumerasi sekarang merupakan tipe skala penuh seperti kelas yang ditentukan pengguna lainnya. Hal berikut ini bahkan tidak legal lagi karena dua alasan:

int s = ALASKA;

Pertama, ALASKA konstan hanya didefinisikan dalam namespace NEGARA. Dengan demikian, nama konstanta adalah NEGARA:: ALASKA. Kedua, tipe tidak int tapi STATE. Anda tidak dapat menetapkan nilai tipe STATE ke int.

NEGARA s = NEGARA:: ALASKA;

Pemrogram dapat menyusun ulang sebuah STATE ke int tapi dia harus melakukannya secara eksplisit - sedikitpun konversi tidak memotongnya dengan kelas enumerasi:

int n = (int) STATE:: ALASKA;

Jenis enum baru ini juga dapat didasarkan pada salah satu tipe nomor penghitungan lainnya selain hanya int:

kelas enum NEGARA: char {DC, // … sisa deklarasi sama
Pengetik yang sangat diketik dalam pemrograman C ++ - dummies

Pilihan Editor

Membuat Kartu Ucapan di Microsoft Word 2003 - dummies

Membuat Kartu Ucapan di Microsoft Word 2003 - dummies

Jika Anda ingin membuat sesuatu di Word yang hanya akan menyilaukan seseorang, coba tangan Anda dengan kartu ucapan yang disesuaikan. Untuk mengatur Word agar membuat kartu ucapan dari satu lembar kertas ukuran standar, ikuti langkah-langkah ini: 1. Pilih File -> Page Setup. 2. Klik tab Margins. 3. Pilih Landscape ...

Membuat Index of Word 2007 Document - dummies

Membuat Index of Word 2007 Document - dummies

Jika Anda ingin membuat indeks untuk Word Anda Dokumen 2007, tugas pertama adalah menandai kata atau frasa yang ingin Anda sertakan dalam indeks. Cara yang paling umum untuk melakukannya adalah dengan memasukkan penanda indeks dalam dokumen pada setiap kemunculan setiap item yang ingin Anda tampilkan ...

Editing di Word 2007: Melacak Perubahan dan Review - dummies

Editing di Word 2007: Melacak Perubahan dan Review - dummies

Menulis adalah seni yang sepi ... yaitu , sampai editor muncul. Mereka akan membuat revisi dengan menambahkan karya tulis Anda dengan hati-hati, memindahkan barang-barang, dan menghapus teks (Aduh!). Tidak ada cara untuk mengidentifikasi teks asli Anda dari teks yang dimodifikasi - kecuali jika Anda menggunakan alat Pelacakan Lagu Word 2007. Pelacakan perubahan sebagai ...

Pilihan Editor

Bagaimana Menonaktifkan dan Mengaktifkan Halaman di Squarespace - dummies

Bagaimana Menonaktifkan dan Mengaktifkan Halaman di Squarespace - dummies

Saat Anda melakukan pemeliharaan situs, kemungkinan besar Anda ingin menonaktifkan halaman situs Anda yang sedang dibangun. Squarespace memungkinkan Anda untuk dengan mudah menonaktifkan dan mengaktifkan kembali halaman. Bagaimana cara menonaktifkan halaman di Squarespace Jika Anda ingin menonaktifkan halaman di situs Anda, Anda dapat melakukannya di ...

Bagaimana Menentukan Navigasi Situs Anda di Squarespace - dummies

Bagaimana Menentukan Navigasi Situs Anda di Squarespace - dummies

Template yang Anda pilih di Squarespace mendikte berbagai area navigasi yang Anda miliki di situs Anda. Template Anda mungkin menyediakan area navigasi berikut di Pengelola Konten: Atas / Utama: Semua template memiliki navigasi teratas atau utama. Sekunder: Halaman yang ditambahkan ke area navigasi ini bukan fokus utama situs Anda. Footer: Beberapa template memiliki ...

Bagaimana Menemukan Editor Gaya Squarespace - dummies

Bagaimana Menemukan Editor Gaya Squarespace - dummies

Anda menggunakan Editor Gaya di Squarespace kapan saja Anda perlu memodifikasi desain situs Anda atau elemen tertentu di situs Anda. Style Editor adalah bagian dari mode Style, yang Anda akses di area Preview. Ikuti langkah-langkah ini untuk memuat Editor Gaya di browser Anda: Masuk ke situs web Anda. Anda ...

Pilihan Editor

Bagaimana Memodifikasi Master Slide di PowerPoint 2016 - dummies

Bagaimana Memodifikasi Master Slide di PowerPoint 2016 - dummies

Jika Anda tidak menyukai tata letak dari slide Anda dalam presentasi PowerPoint 2016, hubungi Master Slide dan lakukan sesuatu tentang hal itu, seperti yang ditunjukkan pada langkah-langkah ini: Buka Slide Master View dengan membuka tab View pada Ribbon dan kemudian klik tombol Slide Master, yang terdapat dalam Presentasi Grup tampilan Sebagai alternatif, ...

Bagaimana Memodifikasi Grafis SmartArt di PowerPoint - dummies

Bagaimana Memodifikasi Grafis SmartArt di PowerPoint - dummies

Setelah membuat grafik SmartArt dalam presentasi PowerPoint Anda, Anda mungkin ingin mengubahnya. Modifikasi dapat mencakup perubahan jenis atau tata letak grafis, menambah atau menghapus bentuk, dan mengubah urutan bentuk bentuk. Pada slide 1, klik bingkai grafis SmartArt untuk memilih keseluruhan grafik. Klik SmartArt Tools ...