Rumah Kewangan Peribadi Mencipta UDL Anda Sendiri di C ++ - dummies

Mencipta UDL Anda Sendiri di C ++ - dummies

Isi kandungan:

Video: So I spent 1,000+ Robux on Ninja Legends... (Pet Giveaway) 2024

Video: So I spent 1,000+ Robux on Ninja Legends... (Pet Giveaway) 2024
Anonim

Perpustakaan Standard, ditambah dengan ciri terbina dalam C ++, menyediakan anda dengan pelbagai literals yang menarik. Walau bagaimanapun, nilai sebenar literals menjadi lebih jelas apabila anda membuat sendiri.

Terdapat banyak keperluan yang berbeza yang boleh anda gunakan menggunakan Literal Ditetapkan Pengguna (UDL), tetapi tiga keperluan umum menyokong penukaran data, membuat jenis tersuai lebih mudah untuk digunakan, dan mendapatkan kesan sampingan yang diingini tanpa masalah pengkodan biasa.

Walaupun literasi terbina dalam atau Standard Perpustakaan datang dalam bentuk awalan dan akhiran, anda hanya boleh mencipta bentuk akhiran apabila menentukan literal anda sendiri. Di samping itu, akhiran mesti bermula dengan garis bawah. Garis bawah ini berfungsi untuk membantu mencegah konflik dengan akhiran yang ada dan untuk memastikan pemaju lain tahu bahawa literal adalah bentuk (tidak standard) tersuai.

Membangunkan penukaran UDL

Boleh merangkum penukaran dalam UDL. Apa yang anda perlu lakukan sebaik sahaja anda membuat UDL seperti itu menyediakan akhiran yang sesuai apabila menentukan pemalar untuk memperoleh hasil yang anda mahukan. Contoh CustomUDL01 menunjukkan teknik untuk menentukan penukaran yang mengubah input radius ke kawasan bulatan dalam pemalar.

# include menggunakan namespace std; integer panjang () {double x = 5. 0_circ; cout << "kawasan lingkaran adalah:" << x << endl; kembali 0;}

Untuk membuat UDL, contohnya bergantung kepada constexpr dengan nilai pulangan ganda yang panjang dan nilai input, jejari, dua kali ganda. Persamaan untuk mengira kawasan bulatan πr 2 Seperti yang anda lihat, contohnya melakukan pengiraan yang betul sebagai sebahagian daripada constexpr.

Setiap kali anda membuat UDL tersuai, memaksa anda untuk menggunakan jenis terbesar untuk penukaran. Ini bermakna bahawa anda perlu menggunakan dua kali ganda untuk literasi titik terapung dan tidak bertanda lama untuk literal literal. Sekalipun anda kemudian memilih untuk menggunakan jenis yang lebih kecil, seperti yang dilakukan dalam contoh dengan mengisytiharkan x sebagai dua kali ganda, literal itu sendiri mesti menggunakan jenis yang paling besar.

Untuk mengisytiharkan UDL jenis baru, contohnya membuat x, yang menggunakan akhiran _circ. s hasil pada skrin. Apabila anda menjalankan contoh ini, anda dapat melihat bahawa nilai yang betul telah diletakkan di x, seperti yang ditunjukkan di sini:

Kawasan bulatan adalah: 78. 5398

Membangunkan jenis UDL

tersuai yang banyak kod anda Pertemuan bergantung kepada jenis tersuai yang sukar untuk diikuti dan difahami.Mewujudkan UDL untuk memudahkan kod menjadikan perkara lebih jelas dan mengurangkan kemungkinan kesalahan. Contoh CustomUDL02 menunjukkan jenis tersuai, operator digunakan untuk membuat UDL, serta bagaimana UDL digunakan untuk menentukan literal.

# include menggunakan namespace std; struct MyType {MyType (double Input): Value (Input) {} double Value;}; MyType operator "return myType (Value);} int main () {auto UDLType = 145. 6_mytype; cout << uDLType. Value << endl; return 0;}

Agar ini teknik untuk bekerja, anda mesti membuat pembina untuk jenis anda yang menerima bilangan input yang diperlukan untuk mengkonfigurasi jenisnya. Sekurang-kurangnya, pembina mesti menerima satu jenis atau nilai input yang diberikan pengguna yang hilang.

Jenis jenis keperluan tidak menyokong jenis data saiz yang sama seperti yang dikehendaki oleh pengendali, tetapi mereka mestilah jenis yang sama. Sebagai contoh, anda tidak boleh beralih dua kali ganda ke int

. Apabila anda menjalankan contoh ini, anda melihat output nilai 145. 6, yang merupakan nilai yang anda masukkan kepada jenis tersuai.Ini mungkin untuk mengendalikan persediaan yang agak kompleks dengan menggunakan pendekatan ini.Pengguna jenis tersuai anda memperoleh keupayaan untuk mencipta kod yang jelas yang mudah diikuti dan mentafsirkan, walaupun jenis asas adalah kompleks.

Menggunakan UDL tersuai untuk kesan sampingan

Salah satu yang paling menarik ses bagi UDLs adalah untuk membuat kesan sampingan (satu operasi selain daripada operasi biasa atau normal, sama ada untuk menjadikan aplikasi lebih pendek dan lebih cekap atau untuk memberikan kelenturan tambahan). Anda ingin menentukan jenis operasi tertentu yang berlaku akibat mendefinisikan literal.

Apa yang anda peroleh masih literal, tetapi harfiah yang tidak semestinya menunjukkan nilai yang anda rancang untuk digunakan kemudian. Contoh CustomUDL03 menunjukkan satu penggunaan bukan tradisional seperti itu.

# include menggunakan namespace std; void operator "_countdown (unsigned long long Value) {for (int i = Value; i> = 0; i--) cout << i << endl;} int main () {10_countdown; return 0;}

Perhatikan bahawa operator _countdown tidak melekat pada sesuatu yang anda biasanya mengaitkan dengan nilai Sebenarnya, ia tidak mengembalikan nilai sama sekali.Anda mendapat sebaliknya adalah kesan sampingan.Ketika anda menjalankan contoh ini, anda lihat output ini.

10 9 8 7 6 5 4 3 2 1 0

Apa yang telah terjadi adalah bahawa pengkompil telah menggantikan 10_countdown dengan pernyataan cout individu, satu untuk setiap lelaran gelung. 11 pernyataan cout yang mengeluarkan nilai-nilai antara 10 dan 0 (dalam urutan terbalik) Kesan sampingan UDL membuka pelbagai kemungkinan yang menarik untuk mewujudkan kod yang memudahkan tugas-tugas berulang dengan cara yang menjadikan penggunaannya jelas.

Mencipta UDL Anda Sendiri di C ++ - dummies

Pilihan Editor

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Jika anda telah memulakan jejak sosial metrik media dan menikmati kurniaan data yang kini dapat dilihat, dihidupkan, dan digunakan, anda mungkin tertanya-tanya apa yang mungkin menyebabkan kemurungan! Mudah: kehilangan data. Katakanlah bahawa anda mempunyai masalah tapak atau entah bagaimana kehilangan akses ke tapak atau data anda. Adakah anda mempunyai sandaran anda ...

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Mana-mana kempen baru, laman web, akaun Twitter, halaman Facebook, atau item lain yang anda ingin ukur dengan metrik media sosial bermula pada sifar. Nombor ini boleh membuat anda merasa seperti anda bercakap dengan tidak sah, bercakap dengan diri anda atau anda tersembunyi dari pandangan. Perasaan ini boleh membawa kepada pengasingan secara keseluruhan ...

Meracuni Google Spider - dummies

Meracuni Google Spider - dummies

Anda sentiasa dapat mencari orang yang ingin menyimpang dari lurus dan sempit. Ya, mereka adalah orang bodoh yang terlibat dalam taktik pengoptimuman berisiko yang bertujuan untuk menggerakkan PageRank secara artifisial, memanipulasi pesanan halaman hasil carian di Google, dan mendapatkan kelebihan yang tidak adil dalam indeks. Google, dengan reputasi yang luar biasa untuk melindungi, ...

Pilihan Editor

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Di laman web anda memberikan wawasan yang penting. Anda boleh memikirkan sama ada pengunjung sedang melihat cepat, kemudian pergi, atau sama ada mereka bertahan lebih lama dan sebenarnya membaca bahan dalam talian anda dengan tujuan untuk mengambil tindakan. Jika majoriti pelawat laman web anda tidak ...

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Laman web perniagaan sangat mirip dengan merancang kedai dengan pemasaran produk dalam fikiran. Malah, laman web anda benar-benar adalah kedai - kedai maya di Internet. Rangkaian kedai runcit telah menghabiskan berjuta-juta dolar dalam penyelidikan pasaran, menonton dan mendokumentasikan bagaimana pembeli memasuki kedai, belok kanan atau kiri, dan ...

Analitik web Untuk Menipu Cheat Sheet - dummies

Analitik web Untuk Menipu Cheat Sheet - dummies

Melakukan analisis laman web tidak perlu meletihkan dan intensif masa. Anda boleh meringkaskan prestasi keseluruhan laman web anda dengan cepat - jika anda tahu apa yang perlu dicari. Alat analisis web percuma dan kos rendah boleh membantu anda mengukur kejayaan laman web anda, dan anda boleh menjana perujuk tapak dengan pelbagai cara yang tidak mungkin ...

Pilihan Editor

Cara Memaksimumkan Ruang pada Laman Web - dummies

Cara Memaksimumkan Ruang pada Laman Web - dummies

Terlalu terhad, anda boleh membuat penggunaan kreatif beberapa teknologi di luar sana untuk memaksimumkan antara muka anda. Untuk setiap teknik berikut yang diterangkan, terdapat banyak laman web yang menawarkan sampel kod, forum, dan sumber untuk membantu anda memulakan. Accordions. Antara muka akordion membolehkan ...

Cara Mendapatkan Corak CSS3 Online - dummies

Cara Mendapatkan Corak CSS3 Online - dummies

Mencipta kesan mudah untuk laman CSS3 menggunakan gradien mudah . Walau bagaimanapun, mewujudkan sesuatu yang benar-benar hebat memerlukan masa dan keupayaan artistik. Kebanyakan pemaju benar-benar tidak mempunyai masa atau kemahiran yang diperlukan untuk mencipta sesuatu yang mempesonakan menggunakan CSS3 sahaja (atau CSS3 digabungkan dengan grafik) - di sinilah pereka bermain. Ramai pereka yang membolehkan anda ...

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Terdapat banyak pelayar dan versi pelayar yang berbeza gunakan hari ini. Tidak semua daripada mereka adalah optimum untuk CSS3. Inilah tempat Modernizr dimainkan. Pemajunya menyebutnya "perpustakaan JavaScript yang mengesan ciri HTML5 dan CSS3 dalam pelayar pengguna. "Anda menggunakan Modernizr untuk melaksanakan tugas secara pilihan dan memasukkan ciri aplikasi berdasarkan ...