|
Page : 1 2 Page Précédente | |
Auteur | Sujet : déclaration d'un template |
Publicité | Posté le 31-08-2003 à 01:19:22 |
Taz bisounours-codeur | faut tout mettre dans la meme unité de compilation |
blackgoddess vive le troll ! | ok, merci --------------- -( BlackGoddess )- |
schnapsmann Zaford Beeblefect | Ca ne fonctionne pas de déclarer les corps des templates dans un fichier d'implémentation à part. Les compilos c++ n'instancient un template en une classe qu'au moment ou l'instantiation se produit dans un source.
|
Taz bisounours-codeur | ben c possible, soit avec un compilo qui gère le export, soit par instanciation explicite. tout ça est une longue histoire et toujours débattu |
schnapsmann Zaford Beeblefect |
|
Taz bisounours-codeur |
sans doute pas pour les raisons que tu penses. c'est un tres long sujet, pour des bonnes infos sur les templates, y le bouquin de Jossutis |
schnapsmann Zaford Beeblefect |
|
Taz bisounours-codeur |
la fonctionnalité existe bel est bien, le mot clef existe, mais ça ne passera pas dans la norme, pour une raison de cout, et par ce que le système d'export a aussi des problèmes |
BifaceMcLeOD The HighGlandeur | Une solution est d'avoir 2 fichiers différents, comme pour toutes les autres classes, mais que le fichier tvalue.h fasse un #include du fichier tvalue.cpp.
|
Publicité | Posté le 02-09-2003 à 19:32:00 |
blackgoddess vive le troll ! | merci pour toutes ces informations
--------------- -( BlackGoddess )- |
Taz bisounours-codeur |
ben si. mais le C++ (voir C++ D&E) est un langage très pragmatique et qui laisse le chanmp libre aux implémentations. donc pour les templates, on peut faire comme on veut: supporter le mot clef export, inclure le code dans chaque unité de compilation (tout dans un .h(pp) quoi) ou bien instancier manuellement ses templates.
|
chrisbk - | Taz, je lis l'article, tu pourrais me dire ce que signifie :
|
chrisbk - | bon pour resumer ils ont travailler comme des oufs sur un mot cles a l'utilité douteuse |
Taz bisounours-codeur | One Definition Rule
|
chrisbk - |
|
Ashe2 | Si j'me souviens bien en instanciant une (et une seule) specialisation d'un template y a moyen de l'exporter d'une DLL, avec le compilateur Intel (bon forcement c'est pas hyper pratique de pouvoir utiliser un template avec un seul argument). N'empeche export il a pas l'air terrible comme mot clé, j'préfèrerais un typeof, on verra au prochain standard.
|
Taz bisounours-codeur | c'est quoi le rapport avec le DLL et ta remarque incompréhensible sur le compilo d'intel? on peut tout à fait séparer déclaration et implémentation, le tout c'est d'instancier à la main __toutes__ les utilisations templates, ce qui est fastidieux et parfois difficile, même avec un outil. mais ça fonctionne parfaitement.
|
blackgoddess vive le troll ! | autre question sur le même template
--------------- -( BlackGoddess )- |
Taz bisounours-codeur | l'opérateur = n'a qu'un sens
|
blackgoddess vive le troll ! | bin oui mais vu que ce sera pas forcement un int le <class T> je peux faire :
Message édité par blackgoddess le 03-09-2003 à 23:15:08 --------------- -( BlackGoddess )- |
Taz bisounours-codeur | la déclaration du 3 n'est pas bonne, voir mon post précédent
|
blackgoddess vive le troll ! | fo donc que j'écrive un cast pour chaque instanciation differente ?
--------------- -( BlackGoddess )- |
Taz bisounours-codeur | ben oui, mais t'as toujours faut dans le prototype
|
blackgoddess vive le troll ! | ok, merci --------------- -( BlackGoddess )- |
Ashe2 |
|
Taz bisounours-codeur |
|
Ashe2 |
Message édité par Ashe2 le 04-09-2003 à 09:22:21 |
Taz bisounours-codeur | 2) heink? je vois pas pourquoi y a besoin d'un nouveau mot-clef pour faire ça ?
|
Taz bisounours-codeur | et j'ai toujours pas compris ton besoin de typeof. les templates et les pointeurs ça marche très bien ensemble, par spécialisation, ou tout simplement
Message édité par Taz le 04-09-2003 à 09:44:00 |
Ashe2 | C'était plutot des iterateurs
|
Taz bisounours-codeur |
et alors ?
|
Ashe2 | J'crois pas qu'un pointeur possede un membre value_type, et c'est un parfait iterateur |
Taz bisounours-codeur |
je crois pas que tu saches lire |
blackgoddess vive le troll ! | jcrois pas que je comprenne tout ca ... --------------- -( BlackGoddess )- |
blackgoddess vive le troll ! | j'ai essayé de déchiffré la doc de la stl ou j'ai vu des iterateur, j'ai pas compris ... je verrais ca plus tard.
--------------- -( BlackGoddess )- |
leneuf22 | Ne pas confondre pointeur et référence. Les pointeurs c'est toi qui les gère, les références c'est le compilo qui s'en occuppe.
|
blackgoddess vive le troll ! | donc
--------------- -( BlackGoddess )- |
leneuf22 | T'es pas obligé de passer par des fonctions :
|
blackgoddess vive le troll ! | ok, merci --------------- -( BlackGoddess )- |
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
[C] Initialisation un peu spéciale d'une chaine à la déclaration | Declaration de From2 comme objet de Form1 |
Problème de template | Meta-Programmation Template : une introduction .... |
Template et virtuelle pure | [C++ / VC++] Gros probleme de déclaration de classes :( |
Spécialisation template & Pétage de plomb | Affectation template & héritage |
[vba/access] Problème de déclaration avec dim... | Template PHPLIB : Comment fonctionne les blocks ? |
Plus de sujets relatifs à : déclaration d'un template |