David Abrahams wrote: > Lastly, I know that Aleksey will argue with me about this,
Yep, I will :). > but I have a strong preference for "class" rather than "typename" in template > parameter lists. Aside from the fact that it's longer, "typename" is > visually confusable because it can mean other multiple things when it > appears between <...>: > > template <typename T, typename U = typename metafunction<T>::type> > > vs > > template <class T, class U = typename metafunction<T>::type> IMO it's more a problem with the layout of template parameters than with anything else: template< typename T , typename U = typename metafunction<T>::type > class her; In short, my motivation for using 'typename's here is that I perceive the 'class' keyword as rather high-weight, semantically loaded, and prefer to use it in its only original context - that is, for declaring/defining a user-defined type that is more than a POD. Using it in other places cheapens the word. That's all subjective, of course. Just clarifying my position :). Aleksey _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost