Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appels au destructeur non controlé

    21 mars 2008 à 9:26:00

    Bonjour,

    Je travaille sur un programme qui établi des liaisons a l'aide des sockets .
    Chaque liaison est "gérée" par une classe , dans le main j'ai crée une boucle infinie je souhaite garder les connexions actives mais le traitement fonctionne une fois et a la fin de la première boucle du main le programme appelle les destructeurs de tous mes objets alors que je souhaite les garder.
    Quelqu'un saurait me dire comment empecher leur destructions svp?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2008 à 9:31:22

      C'est parce que tu dois les recopier un moment ou un autre (alors qu'il ne faudrait pas), et que les destructeurs des copies sont appelées.

      Pour empecher la recopie des classes : met le constructeur par recopie et la surcharge de l'opérateur = en private. Tu verras tout de suite quand tu appelles par mégarde une recopie.
      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        21 mars 2008 à 10:08:20

        Merci pour la réponse ,

        J'ai opté pour un nettoyage systématique des variables et objets entre temps (et une réallocation a chaque passage de boucle du coup) .J'ai désormais un autre souci , j'ai deux communications par socket (une par classe) l'une avec un client php et ensuite (quand j 'ai récupéré les données) une autre avec un serveur(socket) sur un serveur HP-UX , lors d'un deuxième passage de boucle la com avec le client php fonctionne , mais la connexion avec le serveur sous unix me renvoie l'erreur 10061(port occupé) alors que le programme serveur (celui D'unix ) s'est terminé puis relancé.Après vérification le problème ne se situe pas au niveau du serveur mais bien du coté client(ma classe qui gère la socket client) , autre fait troublant le serveur recoit bien des informations du client et lui renvoie alors que coté client les fonctions de gestion de la socket sont toutes en erreurs donc l'envoi fonctionne mais apriori pas la réception.

        Merci d'avance d'avoir le courage de tout lire !!
        • Partager sur Facebook
        • Partager sur Twitter

        Appels au destructeur non controlé

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown