[resolu] KESAKO??? void *toto;

KESAKO??? void *toto; [resolu] - C++ - Programmation

Marsh Posté le 08-10-2002 à 17:15:28    

A quoi ca sert de declarer ca ??  
void *toto;  
 
Et ce type void *,peut il contenir autre chose genre un int * ou double*  ??
si c le cas alors quel moyen utilise pour savoir le type de retour utilise d une fonction renvoyant un void *  ??
 
 
D avance merci pour les eclaircissements.


Message édité par nicolasm le 08-10-2002 à 17:27:59
Reply

Marsh Posté le 08-10-2002 à 17:15:28   

Reply

Marsh Posté le 08-10-2002 à 17:17:27    

C'est un pointeur sur n'importe quoi, donc on peut y mettre un int*, un double* ou un SaucisseMoutarde*


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 08-10-2002 à 17:20:14    

kadreg a écrit a écrit :

C'est un pointeur sur n'importe quoi, donc on peut y mettre un int*, un double* ou un SaucisseMoutarde*




quel moyen utilise pour savoir le VRAI type de retour utilise d une fonction renvoyant un void *  ??  

Reply

Marsh Posté le 08-10-2002 à 17:20:37    

kadreg a écrit a écrit :

ou un SaucisseMoutarde*




 :lol:

Reply

Marsh Posté le 08-10-2002 à 17:23:09    

nicolasm a écrit a écrit :

 
quel moyen utilise pour savoir le VRAI type de retour utilise d une fonction renvoyant un void *  ??  




 
En C, c'est au programmeur de prendre ses responsabilités et de recaster ça selon le bon type.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 08-10-2002 à 17:24:37    

kadreg a écrit a écrit :

C'est un pointeur sur n'importe quoi, donc on peut y mettre un int*, un double* ou un SaucisseMoutarde*



[:rofl]


---------------
Super.
Reply

Marsh Posté le 08-10-2002 à 18:12:43    

nicolasm a écrit a écrit :

 
quel moyen utilise pour savoir le VRAI type de retour utilise d une fonction renvoyant un void *  ??  
 




 
 
bah non, c'est juste un pointeur, une adresse, un chiffre, tout ce que tu veux !

Reply

Marsh Posté le 09-10-2002 à 01:01:37    

En C++, on utiliserait un pointeur sur le type de base d'une hiérarchie de classe.
 
Un void*, par définition, le compilateur ne sait pas ce qu'il y a au bout.
 
T'as un frère: http://www.developpez.net/forums/viewtopic.php?t=35986


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 10-10-2002 à 16:38:17    

Grillé ! http://forum.hardware.fr/images/perso/rofl.gif

Reply

Marsh Posté le 11-10-2002 à 11:46:21    

Musaran a écrit a écrit :

En C++, on utiliserait un pointeur sur le type de base d'une hiérarchie de classe.
 
Un void*, par définition, le compilateur ne sait pas ce qu'il y a au bout.
 
T'as un frère: http://www.developpez.net/forums/viewtopic.php?t=35986




Je t ai deja repondu sur l autre forum et voulais plusieurs avis car moi j ai pas confiance en mes profs  
cf en math:
Ax²+bx+c=0 --> peut ne pas avoir de solution en troisieme,tu continue tes etudes et paf au miracle y a des solutions complexes,c la fete
 
Euh ptet un peu parano mais bon on est comme on est!!
Tiens voila un autre endroit pour les forums ou j ai pose ma question:
 
http://www.programmationworld.com/ [...] Messages=0
 
Et ici on aurait besoin de vous :) car peu de gens repondent :
http://thehacker.free.fr/
 
euh sinon je pense avoir trouve un moyen:

Code :
  1. struct Moyen
  2. {
  3. void * Saucisse;
  4. char* Louche_Le_Type[50];     /* et la je mets son type quand j ai un traitement ,son nom j entends */
  5. }Moyen;


Qu est-ce que vous en dites?


Message édité par nicolasm le 11-10-2002 à 11:51:19
Reply

Marsh Posté le 11-10-2002 à 11:46:21   

Reply

Marsh Posté le 11-10-2002 à 20:53:58    

Citation :

Je t ai deja repondu sur l autre forum et voulais plusieurs avis car moi j ai pas confiance en mes profs  
cf en math:
Ax²+bx+c=0 --> peut ne pas avoir de solution en troisieme,tu continue tes etudes et paf au miracle y a des solutions complexes,c la fete


 
oh!
ben ca c'est du mensonge par omission,
t'aurais fait quelle tete en troisieme
si on t'avait sorti le corps des quaternions?
 
Et puis si ca se trouve ils ont juste sous-entendu
"il n'y a pas de solution dans le corps des reels lorsque le delta est strictement negatif" ce qui est vrai :).
 
Les profs ils connaissent leur boulot, ils veulent
pas vous rendre fou a la sortie du college :).
 
LeGreg

Reply

Marsh Posté le 12-10-2002 à 00:41:48    

Les noms de tous les objets du source n'existent plus (au moins dans le principe) une fois compilé, et ce n'est plus par nom qu'ils sont manipulés, mais par  adresse.
 
Si VRAIMENT tu dois reconstituer toi-même le type au bout d'un void*:

Code :
  1. enum types{Char,Short,Int,Long};
  2. struct Hotdog{
  3. void* p;
  4. enum types type;
  5. }
  6. void f(struct Hotdog hd){
  7. switch(hd.type){
  8. case Char : *(char *)(hd.p)= ...;
  9. case Short: *(short*)(hd.p)= ...;
  10. //...
  11. }
  12. }

Le C++ dispose de typeid pour connaître l'identifiant interne au compilateur d'un type.
Mais quoi qu'il en soit, c'est moche et dangereux (trop d'occasions de se tromper).
 
En C++, on fait à la place une hiérarchie de classes avec fonctions virtuelles.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 22-10-2002 à 13:04:18    

Musaran a écrit a écrit :

Les noms de tous les objets du source n'existent plus (au moins dans le principe) une fois compilé, et ce n'est plus par nom qu'ils sont manipulés, mais par  adresse.
 
Si VRAIMENT tu dois reconstituer toi-même le type au bout d'un void*:

Code :
  1. enum types{Char,Short,Int,Long};
  2. struct Hotdog{
  3. void* p;
  4. enum types type;
  5. }
  6. void f(struct Hotdog hd){
  7. switch(hd.type){
  8. case Char : *(char *)(hd.p)= ...;
  9. case Short: *(short*)(hd.p)= ...;
  10. //...
  11. }
  12. }

Le C++ dispose de typeid pour connaître l'identifiant interne au compilateur d'un type.
Mais quoi qu'il en soit, c'est moche et dangereux (trop d'occasions de se tromper).
 
En C++, on fait à la place une hiérarchie de classes avec fonctions virtuelles.




Merci le petit scarabe est content d apprendre et te remercie

Reply

Marsh Posté le 22-10-2002 à 13:22:28    

Citation :


Legreg
oh!
ben ca c'est du mensonge par omission,
t'aurais fait quelle tete en troisieme
si on t'avait sorti le corps des quaternions?


>Je ne demande pas forcement une explication complete mais un eclaircissement au lieu de laisser plane une zone d ombre.

Citation :


Et puis si ca se trouve ils ont juste sous-entendu
"il n'y a pas de solution dans le corps des reels lorsque le delta est strictement negatif" ce qui est vrai :).


>Quand on est prof,on est cense enoncer les problemes et les solutions avec clarete pour etre compris de la TOTALITE de ses eleves et pas forcement de ceux qui sont telepathe(s) ou/et devin(s) car dans la langue francaise les sous-entendus ne sont pas toujours percus CF deterioration du message.

Citation :


Les profs ils connaissent leur boulot, ils veulent
pas vous rendre fou a la sortie du college :).


>Certains oui mais la majorite non,la pedagogie est a revoir pour un bon nombre d entre eux ou alors les IUFM ne leur on appris que des choses inutiles(apres tout des profs de profs qui mentent eux aussi par ommission)?
 
"La verite est ailleurs" ==> tient ca me dit qqc ca!!!


Message édité par nicolasm le 22-10-2002 à 13:24:39
Reply

Marsh Posté le 22-10-2002 à 19:30:15    

deja premiere chose, les profs ne savent pas tout et ca c'est une certitude (certains ont ete jusqu'a la maitrise, d'autres se sont arrete a la licence pour passer leur capes)
Mais bon au college ca n'a pas beaucoup d'importance parce que tout ce qu'ils apprennent ensuite servira rarement a un cours. Juste pour dire que si tu leur demande un panorama complet de l'etat de l'art en matiere de connaissances mathematiques, ils ne pourront le faire qu'avec leur souvenir des premieres annees d'universite.
 
Deuxiemement qu'il y ait une solution a l'equation x^2=-1
n'a rien d'evident ni de naturel.
D'ailleurs la seule definition de i c'est qu'on a "pose" que c'etait l'une des solutions de l'equation. On n'a rien eu a demontre.
Cette solution a d'ailleurs ete ignore (non seulement par les profs de college) pendant tres longtemps par les mathematiciens si ce n'est qu'un jour quelqu'un a eu la perverse idee de poser
i tel qu'il soit solution de x^2=-1
Donc tant que tu n'introduis pas i, il n'y a pas
de solution aux equations polynomes de degre 2 dont le delta
est strictement negatif. Le nombre d'hypotheses a poser pour que ce soit vrai tend vers l'infini donc tu excuseras tes profs de college d'avoir epargne ca a leurs eleves.
 
Je te rappelle aussi que pour les grecs, l'equation x^2=2
n'avait pas de solution parce que pour eux, tous les nombres
etaient rationnels.
[crazy on]"D'ailleurs peut-etre sont-ils dans le vrai, tous les nombres sont rationnels et les autres nombres (les reels) ne sont que des constructions de l'esprit."[crazy off]
Ceci dit ca ne les empechait pas de manipuler beaucoup de nombres irrationnels (pi, le nombre d'or), mais ils ont mis du temps a comprendre.
 
LeGreg

Reply

Marsh Posté le 23-10-2002 à 04:21:28    

[philosophie]
La "réalité" des nombres irrationnels est un mystère pour moi.
 
Quel mécanisme de l'univers permet à des nombres à développement infini d'exister ? Le cercle, la rotation.
Et pourtant, les physiciens soupçonnent le mouvement d'être discret, et non pas continu.
 
Contradiction ?
[/philosophie]


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

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