Rumah Kewangan Peribadi Dan Deklarasi dalam Pengaturcaraan C ++ - monyet

Dan Deklarasi dalam Pengaturcaraan C ++ - monyet

Isi kandungan:

Video: From C to Python by Ross Rheingans-Yoo 2024

Video: From C to Python by Ross Rheingans-Yoo 2024
Anonim

Sebahagian daripada C ++ untuk Sheet Cheat Sheet

Untuk melakukan perhitungan dalam program C ++, Anda memerlukan ekspresi. Ungkapan adalah pernyataan yang mempunyai nilai dan jenis. Dalam program C ++, pernyataan ialah pernyataan yang mentakrifkan pemboleh ubah atau "tangki induk" untuk nilai semacam seperti nombor atau aksara.

Ungkapan

Ungkapan mengambil salah satu bentuk berikut:

objName // untuk penyusun operator objek mudah // // untuk pengendali unary expr1 pengendali expr2 // untuk expr1 operator binari? expr2: expr3 // untuk operator funcName ternary ([senarai hujah]); // untuk panggilan fungsi

Ungkapan-ungkapan literal

A literal adalah satu bentuk ungkapan berterusan. Pelbagai literals ditakrifkan dalam jadual berikut.

Contoh Type
1 int
1L int panjang
1LL panjang panjang int
1. 0 dwi
1. char
"1" char
"1 string" char * (secara automatik ditamatkan dengan aksara null)
"u8" ini adalah rentetan UTF-8 dengan watak UTF-8: u2018 " char8_t *
u" ini adalah rentetan UTF-16 dengan aksara UTF-16: u2018 " char16_t *
U "ini adalah rentetan UTF-32 dengan watak UTF-32: U00002018"
char32_t *

true, false

binary
Deklarasi
Pengisytiharan menggunakan kedua-dua jenis dan jenis yang ditentukan oleh pengguna. Jenis intrinsik ialah [] char [] wchar_t [] [] int float [long] double bool
Pernyataan mempunyai salah satu daripada bentuk berikut:

[] [const] type var [= expression]; // variable [] [const] jenis array [size] [= {list}]; // array [const] jenis objek [(argumen senarai)]; // object [const] type object [= {argument list}]; // alternatif [const] jenis * [const] ptr [= ungkapan penunjuk]; / // jenis penunjuk & refName = objek; // jenis rujukan fnName ([senarai hujah]); / function

Kata kunci auto boleh digunakan jika C + + dapat menentukan jenis pembolehubah itu sendiri:


auto var = 1L; // jenis var adalah int panjang

Kata kunci menyatakan mengekstrak jenis ungkapan. Jenis ini kemudiannya boleh digunakan di mana sahaja nama jenis digunakan. Sebagai contoh, contoh berikut menggunakan decltype untuk mengisytiharkan pembolehubah kedua dengan jenis yang sama dengan pembolehubah yang sedia ada:

decltype (var1) var2; / / jenis var2 adalah sama dengan var1

Definisi fungsi mempunyai format berikut:
// fungsi mudah [] taip fnName (senarai argumen) {…} // fungsi anggota ditakrifkan di luar kelas [inline] kelas:: func (senarai argumen) [const] {…} // constructor / destructors juga boleh ditakrifkan di luar kelas Kelas:: Class ([argument list]) {…} } // constructors / destructor boleh dipadam atau mungkir // sebagai pengganti definisi Kelas:: Class ([argumen list]) =; Kelas:: ~ Kelas () =;

Operator berlebihan kelihatan seperti definisi fungsi.Pengendali yang dilebihkan beban boleh ditulis sama ada sebagai anggota atau fungsi mudah. Apabila ditulis sebagai fungsi ahli, * ini adalah argumen pertama yang diandaikan kepada pengendali:


MyClass & operator + (const MyClass & m1, const MyClass & m2); // mudah MyClass & MyClass:: operator + (const MyClass & m2); // anggota;

Pengguna juga boleh menentukan jenis mereka sendiri menggunakan kata kunci kelas atau struct:

ClassName [: [virtual] [public] BaseClass] {: // constructor ClassName ([arg arg]) ClassName () [=;] // destructor [virtual] ~ ClassName () <{…} | [=; > // ahli data awam taip dataMemberName [= initialValue]; // fungsi awam anggota jenis memberFunctionName ([arg list]) [{…}] // fungsi anggota member jenis memberFunctionName ([arg list]) const [{…}] // fungsi anggota maya memberFunctionName jenis maya ([) [{…}]; // fungsi maya murni murni memberFunctionName ([arg list]) = 0; / / fungsi yang mesti menimpa kelas fungsi kelas memberFunctionName ([arg list]) menimpa; / / fungsi yang tidak boleh ditindih dalam subclass memberFunctionName ([arg list]) final;};

Selain itu, pembina dengan hujah tunggal mungkin ditandakan sebagai makna eksplisit bahawa ia tidak akan digunakan dalam penukaran tersirat dari satu jenis ke satu lagi. Menonjolkan pembina sebagai lalai bermaksud "gunakan definisi pembina C ++ lalai". Menyalin pembina sebagai padam membuang definisi pembina C ++ lalai.

C ++ menyokong dua jenis jenis yang disenaraikan. Jenis penghitungan lama berikut tidak mencipta jenis baru:

enum STATE {DC, // mendapat 0 ALABAMA, // mendapat 1 ALASKA, // mendapat 2 ARKANSAS, // mendapat 3 // … dan seterusnya}; int n = ALASKA; // ALASKA adalah jenis int

Secara lalai kemasukan individu adalah jenis int tetapi ini boleh ditukar dalam standard C ++ 2011:

enum ALPHABET: char {A = 'a', // gets 'a' B, // mendapat 'b' C, // mendapat 'c' // … dan sebagainya}; char c = A; // A adalah jenis char

C ++ 2011 yang membolehkan format kedua yang mencipta jenis baru:


// penghitungan berikut mentakrifkan jenis baru STATE enum class STATE {DC, // mendapat 0 ALABAMA, // mendapat 1 ALASKA, // mendapat 2 ARKANSAS, // mendapat 3 // … dan sebagainya}; NEGARA s = NEGERI:: ALASKA; // sekarang NEGERI adalah jenis baru // berikut menggunakan jenis enum yang berlainan jenis ALUMPHONE: char {A = 'a', // mendapat 'a' B, // mendapat 'b' C, // mendapat 'c ' //… dan sebagainya}; ALPHABET c = ALPHABET:: A; // A adalah jenis ALPHABET

Pernyataan template mempunyai format yang sedikit berbeza:

// jenis T disediakan oleh pengatur cara menggunakan jenis template FunctionName ([arg list]) class template ClassName {{…}};
Dan Deklarasi dalam Pengaturcaraan C ++ - monyet

Pilihan Editor

Meningkatkan Rancangan Navigasi Blog - dummies

Meningkatkan Rancangan Navigasi Blog - dummies

Reka bentuk navigasi hebat untuk blog anda meningkatkan pengalaman pembaca. Reka bentuk navigasi buruk di blog mengecewakan pengunjung yang ingin mencari catatan blog tertentu dengan cepat, atau membaca siaran berkaitan atau yang serupa. Mengharapkan keperluan pelawat anda dengan memikirkan blog anda seperti kedai, dan jawatan blog anda seperti produk: Catatan popular dan terkini: ...

Meningkatkan Pengalaman Pengguna Blog dengan Plugin - dummies

Meningkatkan Pengalaman Pengguna Blog dengan Plugin - dummies

Beberapa teknologi yang berbeza dapat meningkatkan blog anda . Plug-in, widget, dan alat semua membuat ciri-ciri baru, integrasi, dan penambahan mudah untuk dibungkus dan diedarkan. Teknologi-teknologi ini berkembang sepanjang masa, tetapi untuk mendapatkan blog anda dan berjalan, berikut adalah beberapa pilihan terbaik semasa untuk pelbagai tujuan. Widget / Name Plugin ...

Meningkatkan Tajuk Blog Anda dan Reka Bentuk Tagline untuk SEO - patung

Meningkatkan Tajuk Blog Anda dan Reka Bentuk Tagline untuk SEO - patung

Tag tajuk blog anda dan tagline memberi enjin carian penerangan kandungan blog anda. Reka bentuk blog SEO yang berkesan bermakna memastikan jawatan blog enjin carian yang layak dan halaman mempunyai tag tajuk mereka sendiri dan bahawa slogan setiap halaman penuh dengan kata kunci yang berkaitan.

Pilihan Editor

Office 2013 Save As Dialog Box - dummies

Office 2013 Save As Dialog Box - dummies

Office 2013 menggunakan SkyDrive pengguna Windows semasa sebagai penyimpanan default lokasi. SkyDrive adalah kawasan penyimpanan dalam talian berasaskan awan yang dihoskan oleh Microsoft. Sesiapa yang mendaftarkan perkhidmatan, atau yang log masuk ke Windows 8 dengan Microsoft ID, diberikan sejumlah ruang penyimpanan percuma, dan boleh membeli lebih banyak. Cloud adalah ...

Unclutter Peti Masuk Outlook anda dengan Clutter - dummies

Unclutter Peti Masuk Outlook anda dengan Clutter - dummies

Mahu aplikasi e-mel yang juga pembaca minda? Keinginan anda diberikan. Anda boleh mengucapkan terima kasih kepada Graph Office dan Clutter, ciri baru dalam Outlook. Clutter menggunakan teknologi di sebalik Grafik Pejabat untuk menganalisis isyarat yang anda hantar apabila anda mengambil tindakan terhadap e-mel anda. Sebagai contoh, jika anda cenderung untuk mengabaikan e-mel daripada ...

Pilihan Editor

Elakkan Berat Berat Ketika Menguatkuasakan Garis Panduan Komuniti Dalam Talian - dummies

Elakkan Berat Berat Ketika Menguatkuasakan Garis Panduan Komuniti Dalam Talian - dummies

Hanya kerana anda mempunyai kuasa untuk berbuat demikian tidak bermakna bahawa semua masalah komuniti dalam talian memerlukan amaran dan banner. Ya, anda ingin menonjolkan keadaan negatif di dalam tunas, tetapi tidak, anda tidak mahu mendapat sedikit tentangnya sama ada. Kadang-kadang membiarkan slaid isu baik-baik saja. Sebagai pengurus komuniti, tugas anda untuk mengetahui ...

Elakkan Peluang Yang Berisiko Reputasi Blog Anda - dummies

Elakkan Peluang Yang Berisiko Reputasi Blog Anda - dummies

Apabila anda mengaitkan blog ibu anda dan jenama peribadi anda produk atau jenama syarikat, tidak dapat dielakkan bahawa anda akan menggosok satu sama lain. Suka atau tidak, anda boleh dan boleh dikaitkan dengan jenama itu. Tidak semua syarikat yang ingin memberi anda produk percuma adalah yang anda mahu ...

Peruntukkan Peranan ke Font di Laman Blog Anda - dummies

Peruntukkan Peranan ke Font di Laman Blog Anda - dummies

Apabila anda menetapkan peranan ke fon anda, membantu memastikan reka bentuk blog anda kelihatan profesional. Menjaga tujuan fon anda jelas menjadikan reka bentuk navigasi blog anda lebih berkesan dan reka bentuk keseluruhan anda lebih mudah di mata. Selepas anda memilih dua atau tiga fon pelengkap yang juga mempunyai perbezaan yang cukup untuk menonjol dari satu sama lain (lihat ...