IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Affectation entre std::string


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par d�faut Affectation entre std::string
    Bonjour,

    Voila j'ai un probl�me que je n'explique pas:

    J'ai un op�rateur d'affectation:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    C_FMDatum& C_FMDatum::operator=(const C_FMDatum& c)
    {
    	if(this!=&c)
    	{
    		dX = c.dX;
    		dY = c.dY;
    		dZ = c.dZ;
    		RX = c.RX;
    		RY = c.RY;
    		RZ = c.dZ;
    		dS = c.dS;
    		m_DatumCountry = c.m_DatumCountry;
    		m_DatumName = c.m_DatumName;
    		m_RefEll = c.m_RefEll;
    		m_use_transformation = c.m_use_transformation;
    	}
    	return *this;
    }
    et lorsque je passe dans celui-ci, au moment de l'affectation des std::string( m_DatumCountry et m_Datum_Name ), parfois cela ne recopie pas correctement, c'est � dire que par exemple m_DatumCountry ne prendra pas la valeur de c.m_DatumCountry.

    Ce qui est �trange c'est que les premiers passages dans la fonction se passent tr�s bien mais � un moment les recopies commencent � bugguer.

    Merci d'avance pour votre aide!

  2. #2
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    Si aucun de tes membres ne n�cessite un traitement particulier (par exemple pointeur) alors ca ne sert � rien d'�crire un constructeur de copie, il faut mieux laisser le compilateur g�rer cela.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre averti
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par d�faut
    Bon j'ai laiss� celui du compilo comme conseill� mais le probl�me persiste:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C_FMDatum C_FMDatumTable::GetDatum ( unsigned int index ){
     
    	if ( index < m_DatumList.size() ){
     
    		return ( m_DatumList[ index ] );
    	}
    	else
     
    		throw int ( 2 );
    }
    Quand j'appelle ma fonction GetDatum( index ) par exemple, certaines fois, les param�tres std::string comme m_DatumName ne sont pas valides

    Mon appel:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    g_OldDatum = m_DatumTable.GetDatum( m_GeoDatumSelOld );
    Dans g_OldDatum n'a pas tous les param�tres correct alors que dans la fonction GetDatum, quand je v�rifie la valeur de mDatumList[index], ces param�tres sont bien corrects.

    Je comprends pas l�.

  4. #4
    Membre Expert
    Avatar de m�phistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par d�faut
    j'ai une question : quelle m�thode utilise-tu pour "visualiser tes variables ? sous quel environnement ? et en quel mode ?

    J'avais d�j� vu un bug de ce genre chez un ami qui regardait ses variables via le d�bugger de visual studio mais pour une compilation en mode release.. �a peut peut-�tre aussi le faire en d�bug, je sais pas.

    Sinon, les erreur de copies sont-elle al�atoires ou bien semblent-elles suivre une certaines logique...


    Bonne chance

Discussions similaires

  1. diff�rence entre wxString et std::string
    Par noctua dans le forum C++
    R�ponses: 5
    Dernier message: 17/11/2009, 09h20
  2. Diff�rence entre un String et un string ?
    Par pepito62 dans le forum C++Builder
    R�ponses: 4
    Dernier message: 24/03/2005, 15h11
  3. Affectation entre qrexpr et qrlabel
    Par souad26 dans le forum QuickReport
    R�ponses: 2
    Dernier message: 30/01/2005, 11h25
  4. std::string, operator =
    Par tut dans le forum SL & STL
    R�ponses: 10
    Dernier message: 05/11/2004, 12h07
  5. [.NET VC++] ou exclusif entre deux String
    Par benoitB dans le forum MFC
    R�ponses: 7
    Dernier message: 25/11/2003, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo