question sur une instruction avec un "size of "

question sur une instruction avec un "size of " - C++ - Programmation

Marsh Posté le 06-12-2004 à 16:06:52    

Code :
  1. class thermalP
  2. {
  3. private :
  4. const long int graGefP = sizeof (?????);
  5. .
  6. .
  7. .
  8. }


 
 :hello:  
ma question est comment faire pour avoir dans ma constante la taille mémoire de ma class ?

Code :
  1. ... = sizeof (class thermalP)???


Le compilo ne connaitra pas le type class thermalP ? si ?


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Marsh Posté le 06-12-2004 à 16:06:52   

Reply

Marsh Posté le 06-12-2004 à 16:14:02    

tu ne peux pas.

Reply

Marsh Posté le 06-12-2004 à 16:15:42    

je fais comment alors ?


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Marsh Posté le 06-12-2004 à 16:20:44    

tu fais pas

Reply

Marsh Posté le 06-12-2004 à 16:27:38    

ok thx


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Marsh Posté le 06-12-2004 à 16:37:29    

je vois de toutes façons pas dans quelle circonstance tu aurais besoin de ça

Reply

Marsh Posté le 06-12-2004 à 16:41:18    

et ça ça irait pas ?

Code :
  1. class thermalP
  2. {
  3. private :
  4.     long int graGefP;
  5.     thermalP()
  6.     {
  7.         graGefP = sizeof(this);
  8.     }
  9.     .
  10.     .
  11.     .
  12. }


Message édité par spokup le 06-12-2004 à 16:42:01
Reply

Marsh Posté le 06-12-2004 à 17:06:21    

j'ai pas testé mais il me semble que ça te donnera la taille de l'adresse et non celle de l'objet.
 
sizeof(this) == 4 octets (ou 8... selon ton système)
 
non ?

Reply

Marsh Posté le 06-12-2004 à 17:07:55    

Pourquoi tu t'obstines ?


Message édité par miniserveur le 06-12-2004 à 17:09:20

---------------
www.sagis.tk
Reply

Marsh Posté le 06-12-2004 à 17:16:49    

c'est la journée des boolays newbies ou quoi ?

Reply

Marsh Posté le 06-12-2004 à 17:16:49   

Reply

Marsh Posté le 06-12-2004 à 17:21:59    

C H A V E Z > c'est quoi le but/contexte, qu'on voit les autres alternatives à ce que tu veux faire...

Reply

Marsh Posté le 06-12-2004 à 17:27:54    

Peut dire pq tu as besoin de la taille de ton objet dans l'objet?
Si tu en a besoin à l'extérieur tu peux faire "sizeof(thermalP)"
Mais tu peux essayer "sizeof(*this)".  
 
Je ne l'ai pas testé. Mais essaie et tu verra si le compilo rale
 


---------------
C'est avoir tort que d'avoir raison trop tôt
Reply

Marsh Posté le 06-12-2004 à 17:30:53    

moaui ca me séduit moi :s
:p


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Marsh Posté le 06-12-2004 à 17:35:45    

Taz a écrit :

c'est la journée des boolays newbies ou quoi ?


 
J'ai fait une erreur je parlait aussi de sizeof(*this), si je demande si ça marche c'est que j'ai jamais testé, est ce que toute personne qui fait une erreur deviens un boulet pour toi. il y a que toi au dessus du lot et tout les autres sont des noob c'est ça ?


Message édité par spokup le 06-12-2004 à 17:36:15
Reply

Marsh Posté le 06-12-2004 à 17:41:13    

mon but est de faire des fonctions dans une class qui comporte deja des write et d'optimisé et de simplifié grandement tout ca. donc la constante me sert mais j'en ai besoin aussi pour d'autre chose...
si je dois créé à chaque fois une constante différente externe à la class ca me séduit moins :p


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Marsh Posté le 06-12-2004 à 17:44:15    

pour se qui est des fonctions d'écriture et relecture sur flots il y a plein d'alternative donc ca va c'était juste une petite question comme ca ;)  
merci à toi taz et à tous les autres.


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Marsh Posté le 07-12-2004 à 12:57:24    

sizeof(*this) ça marche

Reply

Marsh Posté le 07-12-2004 à 15:47:33    

bin dans certain cas oui mais la non :( j'y avais pensé aussi :)


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed