Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1190 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] comportement GCC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] comportement GCC

n°1592522
freewol
Ceci n'est pas une citation
Posté le 27-07-2007 à 16:43:09  profilanswer
 

Bonjour,

 

je ne sais pas si ce que je cherche est possible. J'aimerais pouvoir dire à GCC que s'il trouve un nombre entier, il doit préférer le transtyper en unsigned long plutôt qu'en un pointeur (char * ici)
La raison en est que j'ai une classe qui possède un opérateur "=" surchargé qui prend soit un unsigned long soit un const char * en argument, et si je fais "= 0" ça ne sait pas lequel choisir.

 

Merci !


Message édité par freewol le 27-07-2007 à 16:44:00
mood
Publicité
Posté le 27-07-2007 à 16:43:09  profilanswer
 

n°1592578
freewol
Ceci n'est pas une citation
Posté le 27-07-2007 à 18:36:51  profilanswer
 

Ou alors je pense qu'une option considérant toutes les constantes numériques comme des long fonctionnerait aussi :)

n°1592596
_darkalt3_
Proctopathe
Posté le 27-07-2007 à 19:58:17  profilanswer
 

Et en castant ?


---------------
Töp of the plöp
n°1592625
Taz
bisounours-codeur
Posté le 27-07-2007 à 21:43:10  profilanswer
 

utilise std::string et c'est réglé

n°1592647
freewol
Ceci n'est pas une citation
Posté le 27-07-2007 à 22:47:03  profilanswer
 

Bah je veux pouvoir faire autant  

maclasse = 2


que

maclasse = "y"


je vois pas comment le faire avec string ?
Et pareil je ne veux pas caster, le but c'est que ça soit transparent pour l'utilisateur :)
 
Merci :)

n°1592653
Taz
bisounours-codeur
Posté le 27-07-2007 à 23:21:36  profilanswer
 

1) tu ne définis pas des operator= mais des constructeurs
2) tu utilises std::string
 
je sais pas comment le dire autrement que "utilise std::string"

n°1592691
freewol
Ceci n'est pas une citation
Posté le 28-07-2007 à 10:36:58  profilanswer
 

et si je veux changer la valeur en cours d'execution ? le constructeur ne fonctionnera qu'à l'initialisation :p

n°1592692
schnapsman​n
Zaford Beeblefect
Posté le 28-07-2007 à 10:41:34  profilanswer
 

freewol a écrit :

et si je veux changer la valeur en cours d'execution ? le constructeur ne fonctionnera qu'à l'initialisation :p


c'est que du syntactic sugar, donc tu restes avec tes operator=, et tu caste le zero pour désambigüer ton bousin quand nécéssaire.

Spoiler :

const int Zero(0);


Message édité par schnapsmann le 28-07-2007 à 10:48:07
n°1592704
freewol
Ceci n'est pas une citation
Posté le 28-07-2007 à 12:12:04  profilanswer
 

C'est super moche ! Je voudrais un truc user friendly, surtout qu'en pratique il y a déjà plein d'affectation machin = 0 de faites, et ensuite j'ai rajouté la surcharge pour char *, donc ça demanderait de recaster toutes les lignes déjà écrites :o

n°1592706
KangOl
Profil : pointeur
Posté le 28-07-2007 à 12:13:44  profilanswer
 

mais laisse tomber les char * et prends des std::string on te dit :o

mood
Publicité
Posté le 28-07-2007 à 12:13:44  profilanswer
 

n°1592714
freewol
Ceci n'est pas une citation
Posté le 28-07-2007 à 13:25:14  profilanswer
 

Bah oui mais je veux pouvoir écrire machin = "y", sans créer une variable intermédiaire :p

n°1592717
Elmoricq
Modérateur
Posté le 28-07-2007 à 13:47:42  profilanswer
 

J'vois pas ce qui t'en empêche avec des std::string.

n°1592827
Taz
bisounours-codeur
Posté le 28-07-2007 à 22:30:43  profilanswer
 

freewol a écrit :

Bah oui mais je veux pouvoir écrire machin = "y", sans créer une variable intermédiaire :p


si t'as pas les constructeurs qui vont avec, alors ton machin est assez incohérent. On s'amuse à refaire tout le boulot pour les operator= uniquement quand on a un problème de performance. Sinon c'est de la branlette. Un constructeur de conversion c'est le mieux. Laisse ton operator= tranquille


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] comportement GCC

 

Sujets relatifs
Comportement des stringComment Optimiser l'execution du code avec GCC ??
Comportement bizarre sous IE7 => bug?Temps reel / WinXP, comportement etrange
[C#] [Résolu] Comment communiquer avec une dll c++[C] Des accolades "just pour le fun" ?
Problème de comportement lors du clic sur un lienComportement Bizare de mon COOKIE [RESOLU]
Serveur SQL, comportement étrange.Comportement fichiers temporaires apres upload
Plus de sujets relatifs à : [C++] comportement GCC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR