mercredi 4 octobre 2017

Do typedef and using(C++11) cause a template instantiation?

Say I have a template class defined like this

template <typename T>
class Temp{
    // irrelevant
};

I can either implicitly or explicitly instantiate it:

Temp<int> ti;
template class Temp<char>;

With explicit instantiation, my program should contain an instance even if I don't use it later (assume it's not omitted by compiler optimization).

My question is, does the following statements cause instantiation of the class?

typedef Temp<short> TShort;
using TFloat = Temp<float>; // C++11

Aucun commentaire:

Enregistrer un commentaire