Rumah Kewangan Peribadi 8 C ++ Ciri-ciri Tidak-Permulaan-dummies

8 C ++ Ciri-ciri Tidak-Permulaan-dummies

Isi kandungan:

Video: Recommender Systems 2025

Video: Recommender Systems 2025
Anonim

Bahasa C + + mengandungi begitu banyak ciri yang tidak dapat difahami oleh pemrogram setiap orang. Nasib baik, anda tidak perlu menguasai semua ciri bahasa untuk menulis program-program besar dunia. Berikut adalah sepuluh ciri yang anda mungkin ingin melihat ke depan, sekiranya anda melihatnya dalam program orang lain.

Perintah C ++ goto

Perintah ini akan berjalan kembali ke C, leluhur C ++. Pada dasarnya, menggunakan arahan ini adalah mudah. Anda boleh meletakkan label goto; di mana sahaja anda mahu. Apabila C ++ menyeberangi arahan ini, kawalan akan segera dihantar ke label, seperti ditunjukkan dalam coretan kod ini:

untuk (;;) {jika (ungkapan bersyarat) {goto outahere; // // … apa sahaja yang anda mahu …} Goto memperkenalkan banyak cara untuk mengawal. Walau bagaimanapun, tidak lama sebelum pengaturcara mendapati kedua-dua kegunaan yang paling biasa dari goto adalah untuk keluar dari gelung dan pergi ke kes seterusnya dalam gelung. Jawatankuasa Piawaian C memperkenalkan pemecahan dan terus dan hampir menghapuskan keperluan untuk arahan goto.

Operator ternary C ++

Operator

ternary adalah operator yang unik kepada C dan C ++. Ia berfungsi seperti berikut: int n = (bersyarat)? ungkapan1: expression2;

The? operator pertama menilai kondisional. Sekiranya keadaan itu benar, maka nilai ungkapan itu bersamaan dengan nilai ungkapan1; sebaliknya, ia bersamaan dengan nilai ungkapan2.

Sebagai contoh, anda boleh melaksanakan fungsi maksimum () seperti berikut:

int max (int n1, int n2) {return (n1> n2)? n1: n2;}
Pengendali ternari boleh digunakan untuk sebarang jenis angka tetapi tidak boleh dibebankan. Pengendali ternari benar-benar ungkapan - bukan pernyataan kawalan seperti jika.

Jenis enumerasi dalam C ++

Idea mudah ialah anda boleh menentukan pemalar dan biarkan C ++ memberikan nilai-nilai seperti yang ditunjukkan di sini:

enum Warna {BLACK, BLUE, HIRE, YELLOW, RED}; Warna myColor = BLACK;

Masalah dengan jenis enumerated terletak pada pelaksanaannya: Daripada membuat jenis yang benar, C ++ menggunakan integer. Dalam kes ini, BLACK diberikan nilai 0, BLUE diberikan 1, GREEN2, dan sebagainya.

enum class Colors {BLACK, BLUE, HIRE, YELLOW, RED}; Warna myColor = Warna:: BLACK;

Dalam versi ini, Warna adalah jenis baru.Setiap pemalar, BLACK, BLUE, dan sebagainya, adalah ahli jenis Warna. Anda masih boleh membuang objek Warna kelas ke dalam int, tetapi pelakon tersirat tidak dibenarkan.

ruang nama C ++

Anda boleh memberi entiti yang berlainan dalam dua perpustakaan yang berbeza dengan nama yang sama. Sebagai contoh, fungsi gred () dalam perpustakaan Pelajar mungkin memberikan gred, manakala gred () fungsi dalam perpustakaan CivilEngineering mungkin menetapkan cerun di sisi bukit. Untuk mengelakkan masalah ini, C ++ membolehkan pengaturcara untuk meletakkan kodanya dalam ruang nama berasingan. Oleh itu gred dalam ruang nama Pelajar berbeza dari gred dalam CivilEngineering.

Ruang nama di atas dan di luar nama kelas. Gred () fungsi anggota kelas BullDozer dalam ruang nama CivilEngineering mempunyai nama yang diperluas iaitu CivilEngineering:: BullDozer:: grade ().

Semua objek dan fungsi perpustakaan berada dalam ruang nama std. Pernyataan di awal templat program menggunakan ruang nama std; mengatakan bahawa jika anda tidak melihat objek yang ditentukan dalam ruang nama lalai, maka pergi melihat std.

Fungsi murni tulen dalam C ++

Anda tidak perlu menentukan fungsi yang dinyatakan maya. Fungsi tidak jelas seperti fungsi

murni murni anggota

. Walau bagaimanapun, pada masa itu, perkara menjadi rumit. Sebagai contoh, kelas dengan satu atau lebih fungsi maya tulen dikatakan abstrak dan tidak boleh digunakan untuk membuat objek. Mengatasi subjek ini selepas anda merasa selesa dengan fungsi maya dan mengikat lewat. Kelas string C ++ Kebanyakan bahasa termasuk kelas rentetan sebagai jenis intrinsik untuk mengendalikan rentetan aksara dengan mudah. Secara teori, kelas rentetan harus melakukan perkara yang sama untuk C ++. Walau bagaimanapun, dalam praktiknya, itu tidak mudah. Kerana rentetan bukan jenis intrinsik, mesej ralat yang dihasilkan oleh pengkompil apabila terjadi sesuatu yang salah adalah seperti yang dikaitkan dengan kelas yang ditentukan pengguna. Untuk pemula, mesej ini boleh menjadi sangat sukar untuk diterjemahkan.

rentetan bukanlah kelas. Ia adalah contoh kelas templat. Mesej ralat mungkin menakjubkan.

Warisan berbilang dalam C ++

Satu kelas sebenarnya boleh memanjangkan lebih daripada satu kelas asas. Ini kedengaran mudah tetapi boleh menjadi rumit apabila dua kelas asas mengandungi fungsi ahli dengan nama yang sama. Lebih teruk lagi apabila kedua kelas asas adalah subclass dari beberapa kelas biasa.

Malah, banyak masalah timbul bahawa C ++ adalah satu-satunya bahasa seperti C yang menyokong banyak warisan. Java dan C #, kedua bahasa berasal dari C ++, memutuskan untuk menggugurkan sokongan untuk warisan berganda.

C ++ template dan Perpustakaan Templat Standard

Para pembuat C ++ perhatikan bagaimana fungsi yang serupa seperti berikut:

int max (int n1, int n2) {if (n1> n2) {return n1;} } return max (double n1, double n2) {if (n1> n2) {return n1;} return n2;} char max (char n1, char n2) {if (n1> n2) {return n1; kembali n2;}

"Bukankah itu sejuk," kata seorang lagi kepada yang lain, "jika anda boleh menggantikan jenis itu dengan jenis pseudo-T yang boleh anda tentukan pada masa penyusunan?"Sebelum anda tahu, templat presto menjadi sebahagian daripada C ++:

template T max (T t1, T t2) {jika (t1> t2) {return t1;} return t2;}

buat max (int, int) dengan menggantikan T dengan int dan menyusun hasilnya, buat max (double, double) dengan menggantikan T dengan double, dan sebagainya. Komite Standards bahkan mengeluarkan seluruh perpustakaan kelas, yang dikenali sebagai Perpustakaan Templat Standard (STL untuk pendek), berdasarkan kelas templat.

Bagi pemula, bagaimanapun, subjek kelas templat mula mendapat sintaks sangat rumit. Di samping itu, kesilapan-kesilapan yang dihasilkan oleh pengkompil apabila anda mendapat template instantiation yang salah adalah membingungkan kepada seorang pakar, tidak kira seorang pemula. Ini pastinya satu topik yang perlu menunggu sehingga anda merasa selesa dengan bahasa asas.
8 C ++ Ciri-ciri Tidak-Permulaan-dummies

Pilihan Editor

Bagaimana Menghubungkan Item Menu ke Kategori di Joomla - dummies

Bagaimana Menghubungkan Item Menu ke Kategori di Joomla - dummies

Untuk artikel yang dikategorikan dalam Joomla untuk dilihat oleh pengguna laman web anda, anda perlu memautkan item menu Joomla anda ke kategori Joomla yang mengandungi artikel yang ingin anda siarkan. Dengan menyambungkan kategori ke item menu, semua artikel dalam kategori boleh didapati melalui item menu yang berkaitan. Untuk membuat ...

Cara Memasang Joomla CMS pada Server Jauh - dummies

Cara Memasang Joomla CMS pada Server Jauh - dummies

Sebaik sahaja anda telah memuatkan fail Joomla yang tidak diturunkan di pelayan jauh dan sediakan MySQL untuk Joomla, anda sudah bersedia untuk memasang Sistem Pengurusan Kandungan Joomla (CMS). Navigasi ke tapak anda di pelayan tuan rumah. Anda melihat halaman pemasangan Joomla pertama. Pilih bahasa. Klik Seterusnya. Semua item dalam pane bahagian atas ...

Cara Membiarkan Pengguna Menguruskan Akaun Sendiri di Joomla - dummies

Cara Membiarkan Pengguna Menguruskan Akaun Sendiri di Joomla - dummies

Walaupun anda boleh mengurus pengguna dari hujung belakang, Joomla menyediakan kemudahan yang baik yang membolehkan pengguna menguruskan diri mereka juga. Anda boleh membuat halaman di mana pengguna boleh mendaftar, log masuk, menetapkan semula kata laluan mereka, diingatkan kata laluan mereka, dan sebagainya. Buat laman pengurusan pengguna Untuk membuat halaman yang membolehkan pengguna mengurus sendiri, anda ...

Pilihan Editor

Pengguna dan Definisi SharePoint berbeza - dummies

Pengguna dan Definisi SharePoint berbeza - dummies

SharePoint mempunyai banyak jenis pengguna yang berbeza, dan bergantung di mana peranan anda sesuai , anda mungkin mempunyai pengalaman yang sangat berbeza dari pengguna SharePoint yang lain. Sebagai contoh, anda mungkin ditugaskan untuk membuat dan mentadbir laman web SharePoint untuk pasukan anda. Dalam kes ini, anda mungkin melihat ke hadapan fungsi yang luas SharePoint ...

Dan Microblog dalam SharePoint - dummies

Dan Microblog dalam SharePoint - dummies

Microblogging dibuat terkenal oleh Twitter. SharePoint 2013 membawa mikroblogging ke dunia korporat. Menggunakan Twitter, anda menghantar mesej ringkas kepada dunia. Anda boleh mengikuti orang lain dan menarik pengikut anda sendiri. Anda menyebut orang lain menggunakan simbol @ yang diikuti dengan nama mereka dan boleh menanda topik menggunakan # ...

Mengeksport Table Akses ke Senarai Dalam Talian SharePoint - dummies

Mengeksport Table Akses ke Senarai Dalam Talian SharePoint - dummies

Jika anda mempunyai meja dalam Akses yang ada pangkalan data yang anda ingin sediakan untuk ahli pasukan anda yang tidak mempunyai aplikasi MS Access 2010, cara terbaik untuk melakukan ini adalah untuk mengeksport jadual tersebut ke dalam senarai SharePoint. Ikuti langkah-langkah berikut: Dari pangkalan data anda, klik kanan pada jadual di ...

Pilihan Editor

Penyediaan aSVAB: Akar - patung

Penyediaan aSVAB: Akar - patung

Menjadi akrab dengan akar untuk ASVAB. Akar adalah kebalikan dari kuasa atau eksponen. Terdapat pelbagai jenis akar tak terhingga. Anda mempunyai akar kuadrat, yang bermaksud "membuang" asas kepada kuasa kedua; akar kubus, yang bermaksud "membuang" asas yang dinaikkan kepada kuasa ketiga; akar yang keempat, untuk ...

ASVAB Penyediaan: Bekerja dengan Perpuluhan - patung

ASVAB Penyediaan: Bekerja dengan Perpuluhan - patung

Anda perlu tahu bagaimana untuk bekerja dengan perpuluhan untuk ASBAB . Perpuluhan adalah kaedah menulis nombor pecahan tanpa menggunakan pengangka dan penyebut. Anda boleh menulis pecahan 7/10 sebagai perpuluhan 0. 7; anda menyebutnya "tujuh persepuluh" atau "titik nol tujuh. "Tempoh atau titik perpuluhan menunjukkan bahawa nombor itu ...

ASVAB Subtest Details - dummies

ASVAB Subtest Details - dummies

Tergantung di mana dan untuk tujuan apa yang anda ambil ujian, anda mungkin menghadapi beberapa versi ASVAB. Versi terkomputer dari ASVAB (CAT-ASVAB) mengandungi sembilan subtest masa yang berasingan. Pada CAT-ASVAB, Maklumat Auto dan Maklumat Kedai dipisahkan kepada dua ujian berbeza, sedangkan mereka digabungkan pada versi kertas. Lihatlah ...