Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

spécialisation d'une classe ou fonction en C++

  1. #1
    pseudomehdi

    spécialisation d'une classe ou fonction en C++

    bonjour,
    je ne comprend pas à quoi sert la spécialisation d'une classe ou d'une fonction, j'ai trouvé cette définition mais elle est trop générale : "Une fonction ou une classe template peut être spécialisée pour certains types de paramètres, c'est ce qu'on appelle la spécialisation. Cela permet entre autre d'avoir un comportement spécifique à certains types de paramètres, à des fins d'optimisation ou pour s'adapter à un comportement particulier par exemple."
    est ce que quelqu'un aurait une réponse plus clair avec des exemples si possible et merci d'avance.

    -----

    Dernière modification par pseudomehdi ; 15/04/2018 à 15h16.

  2. Publicité
  3. #2
    Jack

    Re : spécialisation d'une classe ou fonction en C++

    j'ai trouvé cette définition mais elle est trop générale
    Quelle est la source de cette définition?

  4. #3
    pseudomehdi

    Re : spécialisation d'une classe ou fonction en C++


  5. #4
    pm42

    Re : spécialisation d'une classe ou fonction en C++

    Il y a une explication et un exemple justement. Et on en trouve d'autres sur Google.
    Mais en gros, on écrit le template qui va marcher pour tous les cas puis on écrit des versions spécifiques pour certaines classes arguments (ou toutes) ce qui permet d'être plus efficace.

  6. #5
    Jack

    Re : spécialisation d'une classe ou fonction en C++

    Je crois que tout est dans le texte: si tu veux que ta classe template adopte un comportement particulier pour un type donné par exemple, tu peux spécialiser cette classe pour ce type.

    Grillé par PM42

  7. #6
    pseudomehdi

    Re : spécialisation d'une classe ou fonction en C++

    Citation Envoyé par pm42 Voir le message
    ce qui permet d'être plus efficace.
    oui c'est justement ça que je ne comprend pas, je voulais savoir plus efficace dans quel sens ?

  8. #7
    pseudomehdi

    Re : spécialisation d'une classe ou fonction en C++

    Citation Envoyé par Jack Voir le message
    Je crois que tout est dans le texte: si tu veux que ta classe template adopte un comportement particulier pour un type donné par exemple, tu peux spécialiser cette classe pour ce type.

    PM42
    oui mais si je défini une classe template, cette classe va aussi adopter un comportement particulier pour le type que je vais choisir dans le main en déclarant un objet O comme suite ; nom_classe<type> O;

  9. #8
    Jack

    Re : spécialisation d'une classe ou fonction en C++

    Citation Envoyé par pseudomehdi Voir le message
    oui mais si je défini une classe template, cette classe va aussi adopter un comportement particulier pour le type que je vais choisir dans le main en déclarant un objet O comme suite ; nom_classe<type> O;
    Non, le comportement général sera identique quel que soit le type avec une classe template. Avec la spécialisation, tu pourras lui faire faire des trucs différents selon un type particulier par exemple.

  10. #9
    pseudomehdi

    Re : spécialisation d'une classe ou fonction en C++

    prenons la classe générique suivante : template<class T> class nom_class{}, donc si j'ai bien compris, en remplaçant le paramètre T avec n'importe quel type lors de l'instanciation le comportement générale est le même, mais si je spécialise le template dès le début comme suite : template<> class nom_class<type>{}, alors j'obtiens un comportement plus précis c'est ça ?

  11. #10
    Jack

    Re : spécialisation d'une classe ou fonction en C++

    Pourquoi n'essaies-tu pas?

Discussions similaires

  1. Fonction de classe C1
    Par kizakoo dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 24/02/2018, 19h07
  2. Fonction de classe C1
    Par eleve800 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 29/08/2014, 13h49
  3. Fonction classe C1
    Par thomas5701 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 27/03/2011, 16h57
  4. Fonction de classe C1
    Par tarantio dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 29/12/2010, 10h04
  5. Fonction de classe C^n
    Par Seirios dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 08/05/2007, 17h06