C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Question de vocabulaire sur les templates

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Aurélien REGAT-BARREL
Guest





PostPosted: Fri Nov 05, 2004 9:48 am    Post subject: Question de vocabulaire sur les templates Reply with quote



Bonjour à tous,
Je me pose des questions sur le(s) sens de instancié / spécialisé pour un
template.
Quand je fais ça :
std::vector<int> v;
Est-ce que std::vector est instancié pour le type int, ou est-il spécialisé
par le compilo ?
Et dans l'exemple suivant :

template<typename T>
T Test()
{
return T();
}

void f()
{
int i = Test<int>();
}

Diriez-vous qu'il y a instanciation explicite de Test ?
Merci.

--
Aurélien REGAT-BARREL


Back to top
Jean-Marc Bourguet
Guest





PostPosted: Fri Nov 05, 2004 8:04 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote



"Aurélien REGAT-BARREL" <nospam-aregatba (AT) yahoo (DOT) fr.invalid> writes:

Quote:
Est-ce que std::vector est instancié pour le type int, ou est-il spécialisé
par le compilo ?


Back to top
Jean-Marc Bourguet
Guest





PostPosted: Fri Nov 05, 2004 8:11 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote



"Aurélien REGAT-BARREL" <nospam-aregatba (AT) yahoo (DOT) fr.invalid> writes:

Quote:
Est-ce que std::vector est instancié pour le type int, ou est-il spécialisé
par le compilo ?

Les deux.

Pour les noms, il y a une différence:

L'instantiation c'est le processus,
La spécialisation c'est le résultat.

Pour les verbes je n'en vois pas.

A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Back to top
Gabriel Dos Reis
Guest





PostPosted: Sat Nov 06, 2004 5:48 am    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

Jean-Marc Bourguet <jm (AT) bourguet (DOT) org> writes:

Quote:
"Aurélien REGAT-BARREL" <nospam-aregatba (AT) yahoo (DOT) fr.invalid> writes:

Est-ce que std::vector est instancié pour le type int, ou est-il spécialisé
par le compilo ?

Les deux.

Pour les noms, il y a une différence:

L'instantiation c'est le processus,
La spécialisation c'est le résultat.

Pour les verbes je n'en vois pas.

Dans

template<> struct vector<foo*> { };

est-ce « instancier » ou « specialiser » ?

-- Gaby

Back to top
drkm
Guest





PostPosted: Mon Nov 08, 2004 12:38 am    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

Jean-Marc Bourguet <jm (AT) bourguet (DOT) org> writes:

Quote:
L'instantiation c'est le processus,
La spécialisation c'est le résultat.

Tiens. Je pensais que la spécialisation c'était :

template< bool B >
struct If {
typedef True value ;
} ;

template<>
struct If< false > {
typedef False value ;
} ;

--drkm

Back to top
Jean-Marc Bourguet
Guest





PostPosted: Mon Nov 08, 2004 7:45 am    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

drkm <usenet.fclcxx (AT) fgeorges (DOT) org> writes:

Quote:
Jean-Marc Bourguet <jm (AT) bourguet (DOT) org> writes:

L'instantiation c'est le processus,
La spécialisation c'est le résultat.

Tiens. Je pensais que la spécialisation c'était :

template< bool B
struct If {
typedef True value ;
} ;

template
struct If< false > {
typedef False value ;
} ;

C'est une specialisation explicite.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Back to top
Aurélien REGAT-BARREL
Guest





PostPosted: Tue Nov 09, 2004 1:26 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

Merci pour les réponses.

Quote:
C'est une specialisation explicite.

Est-ce que ça aussi c'est une spécialisation explicite ?

template<typename T>
T Test()
{
return T();
}

void f()
{
int i = Test<int>();
}


--
Aurélien REGAT-BARREL



Back to top
Gabriel Dos Reis
Guest





PostPosted: Tue Nov 09, 2004 3:35 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

"Aurélien REGAT-BARREL" <nospam-aregatba (AT) yahoo (DOT) fr.invalid> writes:

Quote:
Merci pour les réponses.

C'est une specialisation explicite.

Est-ce que ça aussi c'est une spécialisation explicite ?

template<typename T
T Test()
{
return T();
}

void f()
{
int i = Test }

Non, c'est une demande d'instantiation implicite.

-- Gaby

Back to top
Aurelien REGAT-BARREL
Guest





PostPosted: Wed Nov 10, 2004 9:45 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

Quote:
Non, c'est une demande d'instantiation implicite.

Qui si j'ai bien compris peut provoquer une spécialisation de la part du
compilo ?



Back to top
drkm
Guest





PostPosted: Wed Nov 10, 2004 10:43 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

"Aurelien REGAT-BARREL" <nospam.aregatba (AT) yahoo (DOT) fr.invalid> writes:

Quote:
Non, c'est une demande d'instantiation implicite.

Qui si j'ai bien compris peut provoquer une spécialisation de la part du
compilo ?

Qui, si j'ai bien compris, nécessite l'existence d'une
spécialisation. Ce qui peut évuentuellement déclencher une
instanciation. La spécialisation sera alors créée à partir du modèle
initial, ou d'une spécialisation partielle.

À confirmer.

--drkm

Back to top
Gabriel Dos Reis
Guest





PostPosted: Thu Nov 11, 2004 3:56 am    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

drkm <usenet.fclcxx (AT) fgeorges (DOT) org> writes:

Quote:
"Aurelien REGAT-BARREL" <nospam.aregatba (AT) yahoo (DOT) fr.invalid> writes:

Non, c'est une demande d'instantiation implicite.

Qui si j'ai bien compris peut provoquer une spécialisation de la part du
compilo ?

Qui, si j'ai bien compris, nécessite l'existence d'une
spécialisation. Ce qui peut évuentuellement déclencher une
instanciation. La spécialisation sera alors créée à partir du modèle
initial, ou d'une spécialisation partielle.

À confirmer.

Oui.

-- Gaby

Back to top
Aurelien REGAT-BARREL
Guest





PostPosted: Thu Nov 11, 2004 6:29 pm    Post subject: Re: Question de vocabulaire sur les templates Reply with quote

Ok merci à vous tous.

--
Aurélien REGAT-BARREL


Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.