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

  FORUM HardWare.fr
  Programmation
  C++

  [resolu] KESAKO??? void *toto;

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] KESAKO??? void *toto;

n°225186
nicolasm
Posté le 08-10-2002 à 17:15:28  profilanswer
 

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
mood
Publicité
Posté le 08-10-2002 à 17:15:28  profilanswer
 

n°225187
kadreg
profil: Utilisateur
Posté le 08-10-2002 à 17:17:27  profilanswer
 

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 !
n°225188
nicolasm
Posté le 08-10-2002 à 17:20:14  profilanswer
 

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 *  ??  

n°225189
tomlameche
Et pourquoi pas ?
Posté le 08-10-2002 à 17:20:37  profilanswer
 

kadreg a écrit a écrit :

ou un SaucisseMoutarde*




 :lol:

n°225191
kadreg
profil: Utilisateur
Posté le 08-10-2002 à 17:23:09  profilanswer
 

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 !
n°225192
godbout
Génial.
Posté le 08-10-2002 à 17:24:37  profilanswer
 

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.
n°225215
farib
Posté le 08-10-2002 à 18:12:43  profilanswer
 

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 !

n°225399
Musaran
Cerveaulté
Posté le 09-10-2002 à 01:01:37  profilanswer
 

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
n°226271
BifaceMcLe​OD
The HighGlandeur
Posté le 10-10-2002 à 16:38:17  profilanswer
 

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

n°226660
nicolasm
Posté le 11-10-2002 à 11:46:21  profilanswer
 

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
mood
Publicité
Posté le 11-10-2002 à 11:46:21  profilanswer
 

n°227040
LeGreg
Posté le 11-10-2002 à 20:53:58  profilanswer
 

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

n°227136
Musaran
Cerveaulté
Posté le 12-10-2002 à 00:41:48  profilanswer
 

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
n°232363
nicolasm
Posté le 22-10-2002 à 13:04:18  profilanswer
 

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

n°232372
nicolasm
Posté le 22-10-2002 à 13:22:28  profilanswer
 

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
n°232612
LeGreg
Posté le 22-10-2002 à 19:30:15  profilanswer
 

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

n°232754
Musaran
Cerveaulté
Posté le 23-10-2002 à 04:21:28  profilanswer
 

[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

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

  [resolu] KESAKO??? void *toto;

 

Sujets relatifs
[RESOLU] MAJ en local de mon antivirusUne fonction peut-elle renvoyer un tableau ? (résolu)
[C] - Prob avec strcat() [résolu][C] declaration d'une fonction qui retourne une adr en mem. [resolu]
[resolu] IMPRIMER AVEC WORDPAD[Win32] [RESOLU] Recuperer la liste des processus
Erreur de variable !!??!!?? [résolu]Grosse erreur de ouf sur les sessions !!!!! [Résolu]
Selectionner un item d'une liste d'une form [Resolu]typedef enum kesako?
Plus de sujets relatifs à : [resolu] KESAKO??? void *toto;


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