int main(int argc, char **argv)
{
TA<int> t;
t.foo();
S const & s = t.s;
return 0;
}
Si la ligne "S const & s = t.s" est omise, alors TA<int>::s n'est pas
instanciee avec g++ 4.0. Que dit le standard sur l'instanciation
paresseuse de membre statique de classe template?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc Bourguet
"ylegoc" writes:
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
Unless a class template specialization has been explicitly instantiated (14.7.2) or explicitly specialized (14.7.3), the class template specialization is implicitly instantiated when the specialization is referenced in a context that requires a completely-defined object type or when the completeness of the class type affects the semantics of the program. The implicit instantiation of a class template specialization causes the implicit instantiation of the declarations, but not of the definitions or default arguments, of the class member functions, member classes, static data members and member templates; and it causes the implicit instantiation of the definitions of member anonymous unions. Unless a member of a class template or a member template has been explicitly instantiated or explicitly specialized, the specialization of the member is implicitly instantiated when the specialization is referenced in a context that requires the member definition to exist; in particular, the initialization (and any associated side-effects) of a static data member does not occur unless the static data member is itself used in a way that requires the definition of the static data member to exist.
Cela me semble clair, le comportement de g++ est celui demandé par la norme.
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
"ylegoc" <ylegoc@gmail.com> writes:
Que dit le standard sur l'instanciation paresseuse de
membre statique de classe template?
14.7.1/1
Unless a class template specialization has been explicitly
instantiated (14.7.2) or explicitly specialized (14.7.3),
the class template specialization is implicitly instantiated
when the specialization is referenced in a context that
requires a completely-defined object type or when the
completeness of the class type affects the semantics of the
program. The implicit instantiation of a class template
specialization causes the implicit instantiation of the
declarations, but not of the definitions or default
arguments, of the class member functions, member classes,
static data members and member templates; and it causes the
implicit instantiation of the definitions of member
anonymous unions. Unless a member of a class template or a
member template has been explicitly instantiated or
explicitly specialized, the specialization of the member is
implicitly instantiated when the specialization is
referenced in a context that requires the member definition
to exist; in particular, the initialization (and any
associated side-effects) of a static data member does not
occur unless the static data member is itself used in a way
that requires the definition of the static data member to
exist.
Cela me semble clair, le comportement de g++ est celui
demandé par la norme.
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
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
Unless a class template specialization has been explicitly instantiated (14.7.2) or explicitly specialized (14.7.3), the class template specialization is implicitly instantiated when the specialization is referenced in a context that requires a completely-defined object type or when the completeness of the class type affects the semantics of the program. The implicit instantiation of a class template specialization causes the implicit instantiation of the declarations, but not of the definitions or default arguments, of the class member functions, member classes, static data members and member templates; and it causes the implicit instantiation of the definitions of member anonymous unions. Unless a member of a class template or a member template has been explicitly instantiated or explicitly specialized, the specialization of the member is implicitly instantiated when the specialization is referenced in a context that requires the member definition to exist; in particular, the initialization (and any associated side-effects) of a static data member does not occur unless the static data member is itself used in a way that requires the definition of the static data member to exist.
Cela me semble clair, le comportement de g++ est celui demandé par la norme.
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
Olivier Miakinen
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
Comme la hiérarchie est francophone, j'ai utilisé babelfish pour essayer d'y comprendre quelque chose. Le langage de destination est le français, et apparemment c'est en choisissant « anglais » comme langue de départ que le résultat comporte le plus de mots du Petit Larousse :
<http://babelfish.altavista.com/tr> À moins qu'une classe que spécialisation de calibre a été explicitement instantiated (14.7.2) ou se soit explicitement spécialisée (14.7.3), la classe la spécialisation de calibre est instantiated implicitement quand la spécialisation est mise en référence dans un contexte qui exige un type complet-défini d'objet ou quand la perfection du type de classe affecte la sémantique du programme. L'instantiation implicite d'une spécialisation de calibre de classe cause l'instantiation implicite des déclarations, mais pas des définitions ou des arguments de défaut, des fonctions de membre de classe, des classes de membre, des membres de données statiques et des calibres de membre ; et il cause l'instantiation implicite des définitions des syndicats anonymes de membre. À moins qu'un membre d'un calibre de classe ou un membre que le calibre a été explicitement instantiated ou se soit explicitement spécialisé, la spécialisation du membre soit instantiated implicitement quand la spécialisation est mise en référence dans un contexte qui exige de la définition de membre d'exister ; en particulier, l'initialisation (et tous effets secondaires associés) d'un membre de données statiques ne se produit pas à moins que le membre de données statiques lui-même soit employé dans une manière dont exige de la définition du membre de données statiques d'exister. </>
Cela me semble clair,
Ah. Ben tant mieux pour toi. ;-)
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
Que dit le standard sur l'instanciation paresseuse de
membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
Comme la hiérarchie est francophone, j'ai utilisé babelfish pour essayer
d'y comprendre quelque chose. Le langage de destination est le français,
et apparemment c'est en choisissant « anglais » comme langue de départ
que le résultat comporte le plus de mots du Petit Larousse :
<http://babelfish.altavista.com/tr>
À moins qu'une classe que spécialisation de calibre a été explicitement
instantiated (14.7.2) ou se soit explicitement spécialisée (14.7.3), la
classe la spécialisation de calibre est instantiated implicitement quand
la spécialisation est mise en référence dans un contexte qui exige un
type complet-défini d'objet ou quand la perfection du type de classe
affecte la sémantique du programme. L'instantiation implicite d'une
spécialisation de calibre de classe cause l'instantiation implicite des
déclarations, mais pas des définitions ou des arguments de défaut, des
fonctions de membre de classe, des classes de membre, des membres de
données statiques et des calibres de membre ; et il cause
l'instantiation implicite des définitions des syndicats anonymes de
membre. À moins qu'un membre d'un calibre de classe ou un membre que le
calibre a été explicitement instantiated ou se soit explicitement
spécialisé, la spécialisation du membre soit instantiated implicitement
quand la spécialisation est mise en référence dans un contexte qui exige
de la définition de membre d'exister ; en particulier, l'initialisation
(et tous effets secondaires associés) d'un membre de données statiques
ne se produit pas à moins que le membre de données statiques lui-même
soit employé dans une manière dont exige de la définition du membre de
données statiques d'exister.
</>
Cela me semble clair,
Ah. Ben tant mieux pour toi. ;-)
--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
Comme la hiérarchie est francophone, j'ai utilisé babelfish pour essayer d'y comprendre quelque chose. Le langage de destination est le français, et apparemment c'est en choisissant « anglais » comme langue de départ que le résultat comporte le plus de mots du Petit Larousse :
<http://babelfish.altavista.com/tr> À moins qu'une classe que spécialisation de calibre a été explicitement instantiated (14.7.2) ou se soit explicitement spécialisée (14.7.3), la classe la spécialisation de calibre est instantiated implicitement quand la spécialisation est mise en référence dans un contexte qui exige un type complet-défini d'objet ou quand la perfection du type de classe affecte la sémantique du programme. L'instantiation implicite d'une spécialisation de calibre de classe cause l'instantiation implicite des déclarations, mais pas des définitions ou des arguments de défaut, des fonctions de membre de classe, des classes de membre, des membres de données statiques et des calibres de membre ; et il cause l'instantiation implicite des définitions des syndicats anonymes de membre. À moins qu'un membre d'un calibre de classe ou un membre que le calibre a été explicitement instantiated ou se soit explicitement spécialisé, la spécialisation du membre soit instantiated implicitement quand la spécialisation est mise en référence dans un contexte qui exige de la définition de membre d'exister ; en particulier, l'initialisation (et tous effets secondaires associés) d'un membre de données statiques ne se produit pas à moins que le membre de données statiques lui-même soit employé dans une manière dont exige de la définition du membre de données statiques d'exister. </>
Cela me semble clair,
Ah. Ben tant mieux pour toi. ;-)
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
kanze
Olivier Miakinen wrote:
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
On a démandé ce que disait la norme. Il a cité la norme. Ce n'est pas sa faute que la norme n'existe pas en français.
Comme la hiérarchie est francophone, j'ai utilisé babelfish pour essayer d'y comprendre quelque chose. Le langage de destination est le français, et apparemment c'est en choisissant « anglais » comme langue de départ
Je ne suis pas sûr que la langue de la norme soit réelement anglais. C'est un langage assez spécialisé, avec des significations parfois très particulières. En anglais, on dit qu'elle est écrite en « standardese » (« normois » ?). Ce qui fait qu'un outil de traduction conçu pour le langage général risque d'en sortir des contrasens. Ce qui veut dire aussi qu'un français, même un français qui connaît assez bien l'anglais, pourrait aussi si méprendre. Et même un anglophone... il reconnaîtra sans doute que certains mots apparaissent dans des contextes assez peu habituels, d'où il pourrait conclure qu'il ne comprend pas.
En fait, le passage cité est un des plus clair dans la norme ; mais il faut quand même par exemple comprendre la distinction « specialize »/« instantiate ». Mais il faut comprendre cette distinction pour comprendre les templates en général, je crois. Et je ne sais pas en ce qui concerne les vrais francophones, mais moi, en français, j'utilise les mots « spécialiser » et « instantier » (même si ce dernier ne se trouve pas dans mon petit Robert).
que le résultat comporte le plus de mots du Petit Larousse :
Le problème commence avec le mot template. Qui n'a pas, dans le langage général, un véritable équivalent en français, ou plutôt, dont l'équivalent dépend de l'emploi. (Dans l'emploi propre à C++, je crois que générique est le mot approuvé. Mais j'utilise volentiers template, et je me fais comprendre. Des mots du genre générique ou modèle sont à mon avis trop générique ; j'utilise générique pour expliquer le concepte, mais quand je parle du structure C++, c'est bien un template (de même que c'est une instruction « if » ou « while », et non une instruction « si » ou « tantque »).
Que ça plaise ou non, une certaine connaissance de l'anglais s'impose.
<http://babelfish.altavista.com/tr>
Qui n'arrive déjà pas très bien avec les textes en langage courant. Ce n'est vraiment pas la pleine de lui lancer des textes techniques.
[...]
Cela me semble clair,
Ah. Ben tant mieux pour toi. ;-)
Par rapport à la plupart de la norme, c'est très clair. À condition, évidemment, de se rappeller que dans une norme, chaque mot a une signification très précise.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Olivier Miakinen wrote:
Que dit le standard sur l'instanciation paresseuse de
membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
On a démandé ce que disait la norme. Il a cité la norme. Ce
n'est pas sa faute que la norme n'existe pas en français.
Comme la hiérarchie est francophone, j'ai utilisé babelfish
pour essayer d'y comprendre quelque chose. Le langage de
destination est le français, et apparemment c'est en
choisissant « anglais » comme langue de départ
Je ne suis pas sûr que la langue de la norme soit réelement
anglais. C'est un langage assez spécialisé, avec des
significations parfois très particulières. En anglais, on dit
qu'elle est écrite en « standardese » (« normois » ?). Ce qui
fait qu'un outil de traduction conçu pour le langage général
risque d'en sortir des contrasens. Ce qui veut dire aussi qu'un
français, même un français qui connaît assez bien l'anglais,
pourrait aussi si méprendre. Et même un anglophone... il
reconnaîtra sans doute que certains mots apparaissent dans des
contextes assez peu habituels, d'où il pourrait conclure qu'il
ne comprend pas.
En fait, le passage cité est un des plus clair dans la norme ;
mais il faut quand même par exemple comprendre la distinction
« specialize »/« instantiate ». Mais il faut comprendre cette
distinction pour comprendre les templates en général, je crois.
Et je ne sais pas en ce qui concerne les vrais francophones,
mais moi, en français, j'utilise les mots « spécialiser » et
« instantier » (même si ce dernier ne se trouve pas dans mon
petit Robert).
que le résultat
comporte le plus de mots du Petit Larousse :
Le problème commence avec le mot template. Qui n'a pas, dans le
langage général, un véritable équivalent en français, ou plutôt,
dont l'équivalent dépend de l'emploi. (Dans l'emploi propre à
C++, je crois que générique est le mot approuvé. Mais j'utilise
volentiers template, et je me fais comprendre. Des mots du genre
générique ou modèle sont à mon avis trop générique ; j'utilise
générique pour expliquer le concepte, mais quand je parle du
structure C++, c'est bien un template (de même que c'est une
instruction « if » ou « while », et non une instruction « si »
ou « tantque »).
Que ça plaise ou non, une certaine connaissance de l'anglais
s'impose.
<http://babelfish.altavista.com/tr>
Qui n'arrive déjà pas très bien avec les textes en langage
courant. Ce n'est vraiment pas la pleine de lui lancer des
textes techniques.
[...]
Cela me semble clair,
Ah. Ben tant mieux pour toi. ;-)
Par rapport à la plupart de la norme, c'est très clair. À
condition, évidemment, de se rappeller que dans une norme,
chaque mot a une signification très précise.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
On a démandé ce que disait la norme. Il a cité la norme. Ce n'est pas sa faute que la norme n'existe pas en français.
Comme la hiérarchie est francophone, j'ai utilisé babelfish pour essayer d'y comprendre quelque chose. Le langage de destination est le français, et apparemment c'est en choisissant « anglais » comme langue de départ
Je ne suis pas sûr que la langue de la norme soit réelement anglais. C'est un langage assez spécialisé, avec des significations parfois très particulières. En anglais, on dit qu'elle est écrite en « standardese » (« normois » ?). Ce qui fait qu'un outil de traduction conçu pour le langage général risque d'en sortir des contrasens. Ce qui veut dire aussi qu'un français, même un français qui connaît assez bien l'anglais, pourrait aussi si méprendre. Et même un anglophone... il reconnaîtra sans doute que certains mots apparaissent dans des contextes assez peu habituels, d'où il pourrait conclure qu'il ne comprend pas.
En fait, le passage cité est un des plus clair dans la norme ; mais il faut quand même par exemple comprendre la distinction « specialize »/« instantiate ». Mais il faut comprendre cette distinction pour comprendre les templates en général, je crois. Et je ne sais pas en ce qui concerne les vrais francophones, mais moi, en français, j'utilise les mots « spécialiser » et « instantier » (même si ce dernier ne se trouve pas dans mon petit Robert).
que le résultat comporte le plus de mots du Petit Larousse :
Le problème commence avec le mot template. Qui n'a pas, dans le langage général, un véritable équivalent en français, ou plutôt, dont l'équivalent dépend de l'emploi. (Dans l'emploi propre à C++, je crois que générique est le mot approuvé. Mais j'utilise volentiers template, et je me fais comprendre. Des mots du genre générique ou modèle sont à mon avis trop générique ; j'utilise générique pour expliquer le concepte, mais quand je parle du structure C++, c'est bien un template (de même que c'est une instruction « if » ou « while », et non une instruction « si » ou « tantque »).
Que ça plaise ou non, une certaine connaissance de l'anglais s'impose.
<http://babelfish.altavista.com/tr>
Qui n'arrive déjà pas très bien avec les textes en langage courant. Ce n'est vraiment pas la pleine de lui lancer des textes techniques.
[...]
Cela me semble clair,
Ah. Ben tant mieux pour toi. ;-)
Par rapport à la plupart de la norme, c'est très clair. À condition, évidemment, de se rappeller que dans une norme, chaque mot a une signification très précise.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
kanze
Olivier Miakinen wrote:
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
Comme la hiérarchie est francophone,
Vue qu'on s'y plaigne, un petit essai de thème de ma part :
Au moins d'être instantiée explicitement ou spécialisée explicitement, la spécialisation d'une classe générique est instantiée implicitement quand on y fait référence dans un contexte où il faut un type à définition complète ou que le fait que le type soit complet a un effet sur la sémantique du programme. L'instantiation implicite de la classe a comme conséquence l'instantation implicite des declarations, mais non les définitions ni les paramètres par défaut, ni des fonctions membre de la classe, ni des classes membre, ni des variables statiques membre, ni des classes et fonctions génériques membre ; il provoque aussi l'instantation implicite des définitions des unions anonyme que contient la classe générique. Au moins d'être instantiée explicitement ou spécialisée explicitement, un membre d'une classe générique, ou un template que contient une classe générique, la spécialisation du membre est instantiée implicitement quand on y fait référence dans un contexte où il faut que la définition du membre existe ; en particulier, l'initialisation d'un variable statique membre n'a lieu que si cette variable statique membre a servi elle-même d'une façon telle que l'existance d'une définition en soit nécessaire.
Ce n'est sûrement pas parfait, mais c'est sans doute mieux que Babelfish.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Olivier Miakinen wrote:
Que dit le standard sur l'instanciation paresseuse de
membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
Comme la hiérarchie est francophone,
Vue qu'on s'y plaigne, un petit essai de thème de ma part :
Au moins d'être instantiée explicitement ou spécialisée
explicitement, la spécialisation d'une classe générique est
instantiée implicitement quand on y fait référence dans un
contexte où il faut un type à définition complète ou que le
fait que le type soit complet a un effet sur la sémantique
du programme. L'instantiation implicite de la classe a comme
conséquence l'instantation implicite des declarations, mais
non les définitions ni les paramètres par défaut, ni des
fonctions membre de la classe, ni des classes membre, ni des
variables statiques membre, ni des classes et fonctions
génériques membre ; il provoque aussi l'instantation
implicite des définitions des unions anonyme que contient la
classe générique. Au moins d'être instantiée explicitement
ou spécialisée explicitement, un membre d'une classe
générique, ou un template que contient une classe générique,
la spécialisation du membre est instantiée implicitement
quand on y fait référence dans un contexte où il faut que la
définition du membre existe ; en particulier,
l'initialisation d'un variable statique membre n'a lieu que
si cette variable statique membre a servi elle-même d'une
façon telle que l'existance d'une définition en soit
nécessaire.
Ce n'est sûrement pas parfait, mais c'est sans doute mieux que
Babelfish.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Que dit le standard sur l'instanciation paresseuse de membre statique de classe template?
14.7.1/1
[ un texte tout en étranger ]
Comme la hiérarchie est francophone,
Vue qu'on s'y plaigne, un petit essai de thème de ma part :
Au moins d'être instantiée explicitement ou spécialisée explicitement, la spécialisation d'une classe générique est instantiée implicitement quand on y fait référence dans un contexte où il faut un type à définition complète ou que le fait que le type soit complet a un effet sur la sémantique du programme. L'instantiation implicite de la classe a comme conséquence l'instantation implicite des declarations, mais non les définitions ni les paramètres par défaut, ni des fonctions membre de la classe, ni des classes membre, ni des variables statiques membre, ni des classes et fonctions génériques membre ; il provoque aussi l'instantation implicite des définitions des unions anonyme que contient la classe générique. Au moins d'être instantiée explicitement ou spécialisée explicitement, un membre d'une classe générique, ou un template que contient une classe générique, la spécialisation du membre est instantiée implicitement quand on y fait référence dans un contexte où il faut que la définition du membre existe ; en particulier, l'initialisation d'un variable statique membre n'a lieu que si cette variable statique membre a servi elle-même d'une façon telle que l'existance d'une définition en soit nécessaire.
Ce n'est sûrement pas parfait, mais c'est sans doute mieux que Babelfish.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Olivier Miakinen
Vue qu'on s'y plaigne, un petit essai de thème de ma part :
[traduction]
Ce n'est sûrement pas parfait, mais c'est sans doute mieux que Babelfish.
Un grand merci pour cela. Je l'ai lu et relu plusieurs fois : je ne suis pas sûr encore d'avoir tout compris, mais en tout cas c'est déjà plus facile à lire pour un francophone.
Cordialement, -- Olivier
Vue qu'on s'y plaigne, un petit essai de thème de ma part :
[traduction]
Ce n'est sûrement pas parfait, mais c'est sans doute mieux que
Babelfish.
Un grand merci pour cela. Je l'ai lu et relu plusieurs fois : je ne suis
pas sûr encore d'avoir tout compris, mais en tout cas c'est déjà plus
facile à lire pour un francophone.
Vue qu'on s'y plaigne, un petit essai de thème de ma part :
[traduction]
Ce n'est sûrement pas parfait, mais c'est sans doute mieux que Babelfish.
Un grand merci pour cela. Je l'ai lu et relu plusieurs fois : je ne suis pas sûr encore d'avoir tout compris, mais en tout cas c'est déjà plus facile à lire pour un francophone.
Cordialement, -- Olivier
Loïc Joly
Le problème commence avec le mot template. Qui n'a pas, dans le langage général, un véritable équivalent en français, ou plutôt, dont l'équivalent dépend de l'emploi. (Dans l'emploi propre à C++, je crois que générique est le mot approuvé. Mais j'utilise volentiers template, et je me fais comprendre. Des mots du genre générique ou modèle sont à mon avis trop générique ; j'utilise générique pour expliquer le concepte, mais quand je parle du structure C++, c'est bien un template (de même que c'est une instruction « if » ou « while », et non une instruction « si » ou « tantque »).
Personellement, je me méfie d'autant plus de générique que ce mot a un sens avoisiné mais différent dans des langages comme C# ou Java.
-- Loïc
Le problème commence avec le mot template. Qui n'a pas, dans le
langage général, un véritable équivalent en français, ou plutôt,
dont l'équivalent dépend de l'emploi. (Dans l'emploi propre à
C++, je crois que générique est le mot approuvé. Mais j'utilise
volentiers template, et je me fais comprendre. Des mots du genre
générique ou modèle sont à mon avis trop générique ; j'utilise
générique pour expliquer le concepte, mais quand je parle du
structure C++, c'est bien un template (de même que c'est une
instruction « if » ou « while », et non une instruction « si »
ou « tantque »).
Personellement, je me méfie d'autant plus de générique que ce mot a un
sens avoisiné mais différent dans des langages comme C# ou Java.
Le problème commence avec le mot template. Qui n'a pas, dans le langage général, un véritable équivalent en français, ou plutôt, dont l'équivalent dépend de l'emploi. (Dans l'emploi propre à C++, je crois que générique est le mot approuvé. Mais j'utilise volentiers template, et je me fais comprendre. Des mots du genre générique ou modèle sont à mon avis trop générique ; j'utilise générique pour expliquer le concepte, mais quand je parle du structure C++, c'est bien un template (de même que c'est une instruction « if » ou « while », et non une instruction « si » ou « tantque »).
Personellement, je me méfie d'autant plus de générique que ce mot a un sens avoisiné mais différent dans des langages comme C# ou Java.