Azərbaycanca AzərbaycancaDeutsch Deutsch日本語 日本語Lietuvos Lietuvosසිංහල සිංහලTürkçe TürkçeУкраїнська УкраїнськаUnited State United State
Destek
www.wikipedia.tr-tr.nina.az
  • Vikipedi

şablon Meta Programlama ing Template Meta Programming TMP C Meta programlama kendini veya başka programları değiştiren v

Şablon meta programlama

Şablon meta programlama
www.wikipedia.tr-tr.nina.azhttps://www.wikipedia.tr-tr.nina.az
TikTok Jeton Satışı

“Şablon Meta Programlama" (İng. Template Meta Programming, TMP), Meta programlama kendini veya başka programları değiştiren veya yaratan programlar yazmaktır. Şablon meta programlar derleyici tarafından derleme zamanında çalıştırılan programlardır.

Meta bilgiler

TMP türler hakkında meta bilgi tutmak için kullanılabilir. Örneğin,

template <class T> struct meta_bilgi {  static const bool tam_sayı_mı = false; }; 

özelleşmemiş bir şablon tanımlar.

Bu şablonun int türü için özelleşmiş şekli:

template <> struct meta_bilgi<int> {  static const bool tam_sayı_mı = true; }; 

programcı tarafından

static_assert(meta_bilgi<int>::tam_sayı_mı == true); static_assert(meta_bilgi<double>::tam_sayı_mı == false); 

şeklinde derleme öncesinden bilgi almak için kullanılabilir.

Meta işlevler

TMP sabit değerlerin hesaplamak ve basit şablon meta işlevler yazmak için kullanılabilir.

Değer hesaplama

Örneğin,

const double PI = 3.1415; const double PI_KARE = PI * PI; 

sabit değer hesaplayan bir meta programdır.

Basit meta işlevler

Meta işlevler derleme zamanında basit işlemler yapmak için kullanılabilir. Örneğin aşağıdaki program iki sayının ortak bölenlerinin en büyüğünü (OBEB) derleme zamanında hesaplar.

#include <iostream> template <int x, int y> struct GCD {  enum { RET = GCD<y, x % y>::RET }; }; template <int x> struct GCD<x, 0> {  enum { RET = x }; }; int main() {  int x[GCD<1001, 156>::RET];  std::cout << sizeof(x) << std::endl;  return 0; } 

Dış bağlantılar

  • David Abrahams & Aleksey Gurtovoy (2004), C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (1 bas.), Addison-Wesley Professional, ISBN  
  • Boost.Hana 15 Mart 2024 tarihinde Wayback Machine sitesinde . (İngilizce)

wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar

Sablon Meta Programlama Ing Template Meta Programming TMP C Meta programlama kendini veya baska programlari degistiren veya yaratan programlar yazmaktir Sablon meta programlar derleyici tarafindan derleme zamaninda calistirilan programlardir Meta bilgilerTMP turler hakkinda meta bilgi tutmak icin kullanilabilir Ornegin template lt class T gt struct meta bilgi static const bool tam sayi mi false ozellesmemis bir sablon tanimlar Bu sablonun int turu icin ozellesmis sekli template lt gt struct meta bilgi lt int gt static const bool tam sayi mi true programci tarafindanstatic assert meta bilgi lt int gt tam sayi mi true static assert meta bilgi lt double gt tam sayi mi false seklinde derleme oncesinden bilgi almak icin kullanilabilir Meta islevlerTMP sabit degerlerin hesaplamak ve basit sablon meta islevler yazmak icin kullanilabilir Deger hesaplama Ornegin const double PI 3 1415 const double PI KARE PI PI sabit deger hesaplayan bir meta programdir Basit meta islevler Meta islevler derleme zamaninda basit islemler yapmak icin kullanilabilir Ornegin asagidaki program iki sayinin ortak bolenlerinin en buyugunu OBEB derleme zamaninda hesaplar include lt iostream gt template lt int x int y gt struct GCD enum RET GCD lt y x y gt RET template lt int x gt struct GCD lt x 0 gt enum RET x int main int x GCD lt 1001 156 gt RET std cout lt lt sizeof x lt lt std endl return 0 Dis baglantilarDavid Abrahams amp Aleksey Gurtovoy 2004 C Template Metaprogramming Concepts Tools and Techniques from Boost and Beyond 1 bas Addison Wesley Professional ISBN 0321227255 Boost Hana 15 Mart 2024 tarihinde Wayback Machine sitesinde Ingilizce

Yayın tarihi: Temmuz 13, 2024, 01:42 am
En çok okunan
  • Aralık 07, 2025

    Kim Tae-yeon'un kazandığı ve aday gösterildiği ödüllerin listesi

  • Aralık 07, 2025

    Kilimci

  • Aralık 10, 2025

    Kerim Özdemir

  • Aralık 13, 2025

    Kepenekçi, Zakatala

  • Aralık 16, 2025

    Kendağ

Günlük
  • Özgür içerik

  • Memeliler

  • Popülasyon (biyoloji)

  • Dertli Lisa

  • Simpsonlar

  • Dertli Lisa

  • 16 Aralık

  • 1998

  • Željko Kalac

  • Kara Resimler

NiNa.Az - Stüdyo

  • Vikipedi

Bültene üye ol

Mail listemize abone olarak bizden her zaman en son haberleri alacaksınız.
Temasta ol
Bize Ulaşın
DMCA Sitemap Feeds
© 2019 nina.az - Her hakkı saklıdır.
Telif hakkı: Dadaş Mammedov
Üst