Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Instanciations explicites de templates

1 réponse
Avatar
Christophe de Vienne
Bonjour,


Est-ce que le fait d'instancier explicitement une classe template instancie
également les classes templates utilisées par cette dernière ? Si tel n'est
pas le cas, comment provoquer l'instanciation ?

Exemple:

template<class T>
class Plouf
{
}

template<class T>
class Tagada
{
private:
Plouf<T> my_plouf;
}

// instanciation explicite de Tagada<int>
template class Tagada<int>; // Est-ce que Plouf<int>
// est également instanciée ?

Merci d'avance,

Christophe

--
Christophe de Vienne
Experience is something you don't get until just after you need it.
Oliver's Law.

1 réponse

Avatar
LEMAITRE Guillaume
Christophe de Vienne wrote:

// instanciation explicite de Tagada<int>
template class Tagada<int>; // Est-ce que Plouf<int>
// est également instanciée ?



non, il faut donc également instancier explicitement Plouf<int>

C'est qq part dans le stroustrup, genre à la fin dans les annexes, mais
je n'ai pas le courage de le compulser, désolé.