Girdi şablonu argümanı olarak sağlanan bir (işaretçi) türünün "derinliğini" temsil eden bir tamsayı sabitini sağlayan bir şablon sınıfını nasıl tanımlayabilirim? sınıf Depth
denirdi Örneğin, aşağıdaki doğru olurdu:Bir tipin işaretçi derinliğini/seviyesini veren bir şablon sınıfını nasıl tanımlayabilirim?
Depth<int ***>::value == 3
Depth<int>::value == 0
Teşekkürler James ve son cümle de çok faydalıdır. – user2023370
Bir numara, her zaman bir sonraki özyinesine "T const volatile" değerinden geçmek ve sonra sadece 'ile eşleşmektir. Bu biraz bir kesmek, ama özel const/volatile versiyonları yazmaktan kaçınmak için çalışır. –
@Johannes: Güzel; 'gereksiniminden kurtulur. Bunun özellikle hack olduğunu düşünmüyorum; En azından, diğer tür özelliklerden çok daha fazla hack yok :-) –