2010-10-13 6 views
0

à l'aide des classes de modèle que je fais habituellement quelques typedefs comme:modèles typedef dans le contexte global

typedef super<puper<complex<template<type> > > > simple_name 

Je le font habituellement de 2 façons:

template <class A, ...> 
struct Types { 
    typedef ... 
} 

template <class A, ...> 
class Part_Of_Logick { 
    public: 
     typedef ... 
} 

Est-il possible de mettre typedefs aux niveaux mondial portée? comme ceci:

template <class A, ...> 
typedef ... 

Répondre

3

Je comprends que vous voulez dire écrire un typedef qui va créer templated un deuxième modèle avec quelques-uns des arguments du premier modèle fixe. Si telle est la question, non, pas dans la norme actuelle. Dans la prochaine norme C++ 0x, vous serez en mesure de faire:

template <typename A, typename B> a_template; 
template <typename T> 
using other_template = a_template<T, int>; 
1

Pas en C++ 98. C++ 0x supportera cela. Je ne peux pas rappeler exactement la syntaxe C++ 0x, cependant.

Vive & HTH,

-. Alf

Questions connexes