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) 2025

Video: So I spent 1,000+ Robux on Ninja Legends... (Pet Giveaway) 2025
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

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 ...