Ev Kişisel Finans C ++ 'da kendi UDL'larınızı yaratmak - Cümlecik

C ++ 'da kendi UDL'larınızı yaratmak - Cümlecik

İçindekiler:

Video: Kendi Header (.h) dosyalarımızı C dilinde yazmak 2025

Video: Kendi Header (.h) dosyalarımızı C dilinde yazmak 2025
Anonim

Standart Kitaplık, yerleşik özellikler C ++, size ilginç bir dizi literal sağlar. Bununla birlikte, kendi değerlerinizi yarattığınızda, gerçek değerlerin gerçek değeri daha belirgin hale gelir.

Kullanıcı Tanımlı Literaller'i (UDL'ler) kullanarak adresleyebileceğiniz birçok farklı gereksinim vardır, ancak üç genel gereksinim veri dönüşümlerini desteklemektedir; bu da özel türlerin daha kolay çalışılmasını ve normal kodlama problemleri olmadan istenen yan etkilerin elde edilmesini sağlar.

Yerleşik veya Standart Kütüphane harfleri hem önek hem de sonek şeklinde gelir, ancak yalnızca kendi harflerini tanımlarken son ek formunu oluşturabilirsiniz. Buna ek olarak, son ek alt çizgi ile başlamalıdır. Alt çizgi, varolan eklerle çakışmaları önlemeye ve diğer geliştiricilerin, harflerin özel (standart olmayan) bir form olduğunu bilmelerini sağlar.

Dönüşüm UDL'yi geliştirme

Dönüşümleri bir UDL içinde kapsüllemek mümkündür. Böyle bir UDL oluşturduğunuzda yapmanız gereken tek şey, istediğiniz sonucu elde etmek için sabiti tanımlarken uygun son ek sağlamaktır. CustomUDL01 örneği, yarıçap girdisini sabitteki bir dairenin alanına dönüştüren bir dönüştürmeyi tanımlamak için bir teknik gösterir.

#include ad alanı std kullanarak; constexpr long double operator "_circ (uzun çift yarıçaplı) {döndürme yarıçapı * yarıçapı * 3. 141592;} int main () {double x = 5. 0_circ; cout <<" daire alanı: << x << endl; return 0;}

Örnek, UDL'yi oluşturmak için uzun çiftli bir dönüş değeri ve uzun bir çiftli bir giriş değeri olan bir constexpr'e dayanır Bir daire alanının hesaplanması için denklem

'in bir parçası olarak doğru hesaplamayı gerçekleştirir. Özel bir UDL oluşturduğunuzda, derleyici dönüştürme için en büyük türünü kullanmaya zorlar. Bunun anlamı, kayan noktalı döngüler için uzun bir çift ve tamsayılı döngü için imzasız uzun uzun kullanmanız gerektiğidir. Daha sonra, daha küçük bir tür kullanmayı seçmiş olsanız bile, bu şekilde yapılır Örneğin, x öğesini bir çift olarak beyan ederek, literalin mümkün olan en geniş türü kullanması gerekir. Yeni türden bir UDL'yi bildirmek için, örnek, _circ soneki kullanan x oluşturur. ekrandaki sonuçtur. Bu örneği çalıştırdığınızda, burada gösterildiği gibi doğru değerin x'de yer aldığını görürsünüz:

Daire alanı: 78. 5398

Özel bir tür UDL geliştirme

Bir sürü kod karşılaşma, takip edilmesi ve anlaması zor özel türlere dayanır.Kodu basitleştirmek için bir UDL oluşturmak, olayların daha net olmasını sağlar ve hata potansiyelini azaltır. CustomUDL02 örneği, özel bir türü gösterir; operatör UDL'yi oluşturmak için kullanılır ve UDL'nin bir değişmez tanımlamak için nasıl kullanıldığını gösterir.

#include ad alanı std kullanarak; Yapı MyType {MyType (çift Giriş): Değer (Giriş) {} double Value;}; MyType operatörü "_mytype (long double Value) {return MyType (Value);} int main () {auto UDLType = 145. 6_mytype; cout << uDLType. Değer << endl; return 0;}

Bunun için tekniğinin çalışması için türü yapılandırmak için gereken giriş sayısını kabul eden bir yapıcı oluşturmanız gerekir.Aslında en azından yapıcı bir türünü kabul etmeli veya kullanıcının sağladığı giriş değerini kaybetmelidir.

Özel tür gereksinimi operatörün istediği gibi aynı boyutta veri türünü desteklemez, ancak aynı türde olmalılar Örneğin, uzun bir çifti bir int olarak geçemezsiniz.

Bu örneği çalıştırdığınızda, bir çıktı görürsünüz Özel türde girdiğiniz değer olan 145. 6 değeri.Bu yaklaşımı kullanarak oldukça karmaşık kurulumları işlemek mümkündür.Özel tipinizin kullanıcısı, takip etmek ve yorumlamak kolaydır net kod oluşturma yeteneği kazanır; altta yatan türleri karmaşıktır.

Yan etkiler için özel bir UDL kullanma

En ilginç ulardan biri ses, yan etkiler

(normal veya normal operasyondan farklı bir uygulama, uygulama daha kısa sürede ve daha verimli hale getirmek veya daha fazla esneklik sağlamak için) yaratmaktır. Harfi tanımlayarak gerçekleşen belirli bir işlem türü tanımlamak istiyorsunuz.

Elde ettiğiniz şey hala bir harf niteliğindedir, ancak daha sonra kullanmayı planladığınız bir değeri belirtmeyen bir harf. CustomUDL03 örneği, geleneksel olmayan kullanımlardan birini göstermektedir. #include ad alanı std kullanarak; void operator "_countdown (unsigned long long Value) {int () için {i_kountdown; return 0;} _countdown işlecinin normalde bir değerle ilişkilendirdiğiniz bir şeye bağlı olmadığını fark edin.Aslında bir değer döndürmez, bunun yerine bir yan etki yaratır.Bu örneği çalıştırdığınızda Bu çıktıya bakın.

10 9 8 7 6 5 4 3 2 1 0

Bununla birlikte, derleyici 10_countdown'u, döngünün her tekrarlanması için bir tane olmak üzere tek tek cout ifadeleri ile değiştirdi. 10'dan 0'a kadar değerleri çıktılar (ters sırada) 11 cout ifadeleri UDL yan etkisi, belirli tekrarlayan görevleri basitleştiren bir kod oluşturmanın her türlü ilginç olanaklarını açar.
C ++ 'da kendi UDL'larınızı yaratmak - Cümlecik

Editörün Seçimi

Temel Yahudi Blessings ile kutlayın - mankenler

Temel Yahudi Blessings ile kutlayın - mankenler

Yahudi kutsamaları sıradan ve özel iyiliği takdir etmek ve kutlamak için hatırlatıcıdır , hayatın anları. İşte bilmeniz gereken bazı temel Yahudi nimetleri: Yeni bir şey için kutlamanın kutlanması Barukh Atah Adonai, Eloheynu Melekh ha-olam, Şehri-heh-khi-yanu v'key'manu v'hee-gee-anu laz'man ha-zeh .

Ortak Günlük Blessings ve Dualar Kabala'nın

Ortak Günlük Blessings ve Dualar Kabala'nın

Ortak Günlük Blessings ve Dualar bir nimet vermek. Sabah uyanma üzerine: Bunlar yaygın nimetler Gün boyu teşekkür etme yollarıdır “Seni şefkat ile içimde ruhumu döndü için size, Allah'ı Yaşayan ve sonsuz minnettarım. Sadakati bol, bol miktarda. "...

Bar Mitzvah'ı veya Bat Mitzvah'ı kutluyor - kuklalar

Bar Mitzvah'ı veya Bat Mitzvah'ı kutluyor - kuklalar

Bar Mitzvah "emir oğlu" ve Bat Mitzvah "emirlerin kızı" anlamına gelir. "Yahudi geleneği, kızlar 12, erkek çocuklar 13 yaşına geldiklerinde toplulukta yeni sorumluluklar taşıdığını söylüyor. Geleneksel cemaatlerde, erkeklerin tefillin giymeye ve günlük dua etmeye başlamaları bekleniyor ...

Editörün Seçimi

Facebook'u kullanarak: Genel Online Gizlilik Yap ve Önerilenler

Facebook'u kullanarak: Genel Online Gizlilik Yap ve Önerilenler

Gizlilik gizliliğinizi korur Facebook kullanırken - veya evde, işte veya başka yerde herhangi bir zamanda çevrimiçi olursanız. Aşağıda, çevrimiçi güvenlik ve gizliliğinizin artmasına yardımcı olacak bazı kullanışlı ipuçları bulunmaktadır: Güçlü bir şifre seçin. Büyük harf ve küçük harf, rakam ve sembollerden oluşan bir karışım kullanın. Parolanızı hatırlayabiliyorsanız ... ...

Görsel Sosyal Pazarlama: Facebook'ta Bir Bağlantıyı Eşlik Eden Bir Resim Nasıl Seçilir

Görsel Sosyal Pazarlama: Facebook'ta Bir Bağlantıyı Eşlik Eden Bir Resim Nasıl Seçilir

Bir sosyal pazarlama durumu güncellemesinde bir web sayfasına bir bağlantı ekledikten sonra Facebook, paylaşılan bağlantıya eşlik edecek görüntüler için web sayfasında otomatik olarak arama yaparak daha görsel olarak çekici hale getirir. Bu ifade, kendi web sitenizden veya başka bir web sitesinden içerik paylaşsanız da geçerlidir. Sonrasında ...

Facebook'a Hoş Geldiniz - Facebook profil oluşturma sürecindeki üç adımdan sonra Kişisel Kimlik -adamlarınızı Onaylayın

Facebook'a Hoş Geldiniz - Facebook profil oluşturma sürecindeki üç adımdan sonra Kişisel Kimlik -adamlarınızı Onaylayın

Tamamlandığında (veya seçimlerinize göre atlandığında) sizi Facebook'a davet eden bir sayfaya geliyorsunuz; ekranın üst kısmındaki şeritte, kaydolma işlemini tamamlamak için e-postanıza gitmenizi öneren bir bildirim görüyorsunuz. Şimdi e-postanıza gidin ...

Editörün Seçimi

Photoshop Elements 10'daki Sıvılaştırma Filtresi ile Görüntüleri Bozgula - Yuvarlak Modeller

Photoshop Elements 10'daki Sıvılaştırma Filtresi ile Görüntüleri Bozgula - Yuvarlak Modeller

Photoshop Elements'taki Sıvılaştırma filtresi 10, bir filtreden çok daha fazladır. Sanki sıcak taffymiş gibi bir görüntüyü manipüle etmenize izin veren bir bozulma. Görüntünüzün etkileşimli olarak bükülmesini, çekilmesini, döndürülmesini, sıkışmasını ve şişirilmesini sağlayabilirsiniz. Görüntüyü gösterildiği gibi bir diyet üzerine bile koyabilirsiniz. Aslında ...

Dijital Fotoğrafınıza Balık Gözü Efekti Verin - AYDINLATMA

Dijital Fotoğrafınıza Balık Gözü Efekti Verin - AYDINLATMA

Balık gözü objektifleri fotoğrafçıların fotoğraf çekmesini sağlar 180 derecelik bir bozulma. Bir çok görüntü düzenleyicisinde (Photoshop Elements dahil) balık gözü görünümünü taklit edebilirsiniz. Fotoğrafınızı balık gözü lensi gibi çekilmiş gibi göstermek için:

HDR Fotoğrafçılık ve Doğa Manzarası - AYDINLATMA

HDR Fotoğrafçılık ve Doğa Manzarası - AYDINLATMA

HDR (high-definition range) fotoğraf makinesi olarak bilinen bir yöntem size dijital fotoğrafçılıkla mümkün olandan daha geniş bir renk yelpazesine ve tonale sahip peyzaj ve doğa görüntüleri yaratmak için. HDR fotoğrafçılık, güzel canlı renkler ve karanlık gölgeden en karanlık gölgeye kadar geniş bir dinamik ton dağılımı sergilemek için kullanılır ...