2012-01-02 4 views

cevap

5

XMacros, geniş çeşitliliği için genel bir araçtır. Birçoğu (sayım listesi, dizge, vb. Oluşturmak gibi) her türlü şablonun yeteneklerinin çok ötesindedir.

Şablonlarla değiştirmenin bir yolunu bulabileceğiniz bazı durumlar olabilir. Ama kesinlikle hepsi değil. Bu tekniğin bir adı olduğu konusunda beni uyardığı için

+0

Bunun böyle olmasını beklerdim. Şu anda kullanmakta olduğum "bazı durumlar" ve şablonlarla değiştirmek istiyorum enumları dizginlemek. – Naddiseo

+1

@Naddiseo: Bu durumda, kesinlikle değil. Şablonların bir belirteci, bu belirtecin dize temsili haline getirme yeteneği yoktur; –

+0

C++ 11, bazı daha güçlü derleme zamanı dizi işleme ve yansıtma yeteneklerini gerçekten kullanabilir. Std :: enum_name :: value() -> const char * 'gibi bir şey şanlı olurdu. –