2013-06-13 30 views
6

Modern C++ Tasarımını okuyorum ve düşüncenin yapısının değişkeni şablonlar tarafından değiştirilebileceğini düşündüğüm düşünce bana geldi. Her ikisi de listedeki ilk türü ve listenin kalanını ayrı ayrı işlemek için tekrarlamaya dayanıyor gibi görünmektedir. Tipik bir değişken, bunu değişken bir şablonun yapmasına izin vermeyecek bir şey var mı?Tipik yazarlar tamamen varyantik şablonlarla değiştiriliyor mu?

cevap

8

Typelists size birkaç şey sağlar. Örneğin, bir üst-işlevin sonucu olarak variadic argüman paketine sahip olamaz - böyle bir şey ifade etmek sadece bir yolu yoktur:

template <typename... Args> 
struct argpack_id { 
    typedef Args result; 
}; 

Sen typelists ile yapabilirsiniz.

Öte yandan

, muhtemelen

template <typename... Args> 
struct TypeList {}; 
olarak typelist kendisi uygulamalıdır
İlgili konular