C metaprogramming şablonu için en iyi giriş?
("Template metaprogramming") derleme zamanı sırasında programların yürütülmesini sağlayan büyük C bir tekniktir. aka statik metaprogramming Bir ampul kafamda bu kurallı metaprogramming örnek okur okumaz gitti:
#include <iostream>
using namespace std;
template< int n >
struct factorial { enum { ret = factorial< n - 1 >::ret * n }; };
template<>
struct factorial< 0 > { enum { ret = 1 }; };
int main() {
cout << "7! = " << factorial< 7 >::ret << endl; // 5040
return 0;
}
Eğer bir daha C statik metaprogramming öğrenmek istiyorsa, en iyi kaynakları (kitaplar, web siteleri, on-line, ne olursa olsun bir ders) nedir?
CEVAP
[Kendi soruma cevap]
Şimdiye kadar bulduğum en iyi tanıtımları Bölüm 10, "C Statik Metaprogramming"Üretken Programlama, Yöntem, araç ve Uygulamalartarafından Krzysztof Czarnecki ve Ulrich W. Eisenecker,-13 ISBN: 9780201309775; bölüm 17, "Metaprograms"C Şablonları: Tam KılavuzuDavid ve Nicolai M. Josuttis Vandevoorder, ISBN-13: 9780201734843.
Todd Veldhuizen 4* *mükemmel bir öğretici vardır.
Genel olarak C programlama için iyi bir kaynaktırC Modern TasarımAndrei Alexandrescu, ISBN-13: 9780201704310. Bu kitap diğer şablon teknikleri ile metaprogramming biraz karıştırır. Metaprogramming için özellikle Bakınız bölüm 2.1 "Derleme Zamanı İddialar", 2.4 "Eşleme İntegral Sabitleri Türleri", 2.6 "Tür Seçimi", 2.7 "Tespit karşılığının olduğu ilan ve Miras Derleme zamanında", 2.9 "NullType
EmptyType
" ve 2.10 "Tip Özellikleri".
BuldumC Metaprogramming ŞablonDavid Abrahams ve Aleksey Gurtovoy,-13 ISBN: 9780321227256
Eğer sadece bir kitap tercih ediyorsanız, alınC Şablonları: Tam Kılavuzuayrıca genel şablonlar için kesin referans olduğu için.
Bu uygulama geliştiricileri Facebook G...
Nasıl giriş alanına odaklanmak ayarlam...
Eğer bir giriş varsa test etmek için k...
Metin giriş alanları için seçici CSS?...
Giriş 'IIS apppool\asp.net v4 kul...