Accueil > Forum > > > > arguments : adresse ou pointeur ?
arguments : adresse ou pointeur ?
dimanche 5 mars 2006 à 14:40:11 |
arguments : adresse ou pointeur ?

vincemail
|
Bonjour, j'aimerai savoir s'il est préférable de passer en arguments d'une fonction (ou d'une méthode) des pointeurs ou bien des adresses... Je ne vois pas trop la différence en fait. Merci ! Vincent
|
|
dimanche 5 mars 2006 à 15:04:24 |
Re : arguments : adresse ou pointeur ?

julienbj
|
Oui, evidemment et fort heureusement d'ailleurs.
Un pointeur est une varible qui contient une adresse. Donc on dit souvent qu'un pointeur est une adresse.
Exemple de passage de pointeur:
void mafonction(char *ptr1, int *ptr2)
{
//Ton code
}
Tu remplaces le prototype comme tu veux, autant de param que tu veux, le type que tu veux. Vive le C Tchao Savon
|
|
dimanche 5 mars 2006 à 16:07:45 |
Re : arguments : adresse ou pointeur ?

vincemail
|
Je me suis sans doute mal exprimé  Je voulais savoir s'il valait mieux passer en argument la valeur de l'adresse ou bien un pointeur... donc s'il vaut mieux écrire : 'void fonction(int *a);' ou 'void fonction(int &a);' en fait je veux savoir s'il y a un avantage à la transmission par référence, en particulier au niveau vitesse d'execution (que je dois optimiser à tout prix). Merci
|
|
dimanche 5 mars 2006 à 16:59:28 |
Re : arguments : adresse ou pointeur ?

TeniX
|
Salut,
Je pense que par pointeur c'est le mieu personnellement et c'est ce qui est le plus utilisé (je pense)
tchao
|
|
dimanche 5 mars 2006 à 20:48:18 |
Re : arguments : adresse ou pointeur ?

Guillemouze
|
Réponse acceptée !
un pointeur (*), c juste un int qui contient une adresse memoire. par exemple, si tu fais int x = 25; char y = (*((char*)x)) alors il ira lire y dans l'adrese memoire 25 (attention c juste un exemple, faut surtout pas faire ca !!!) Donc, pour acceder a une zone memoire par un pointeur, ton pc lit un int, va a ladresse qui correspond et lit ta valeur. en gros en assembleur je pense que ca correspond à 2 instructions MOV, donc autant dire que ca coute pas trop cher Par contre, j'ai aucune idee de comment fonctionne la reference. A priori, je dirai que que c basé sur un pointeur, sauf que tu as pas besoin de mettre une "->" mais un "." , et que tu est oblige de linstancier a la declaration. sinon je pense que c'est kif kif.
Si quelqun sait comment fonctionne une reference, je lui cede la place ...
|
|
dimanche 5 mars 2006 à 20:58:33 |
Re : arguments : adresse ou pointeur ?

vincemail
|
Ok Bob l'éponge, je pense aussi que ca doit être un peu kif kif, juste une commodité d'écriture. Merci bien.
|
|
lundi 6 mars 2006 à 04:27:10 |
Re : arguments : adresse ou pointeur ?

nickydaquick
|
Une reference est une adresse type pointeur constant . Exemple: void fonction(int& a); int a = 0; fonction(a);
=> la fonction ira chercher la reference de a . La reference notee &a qui est un pointeur equivalent a int* const ptr avec ptr = adresse de a;
passer une reference , est strictement la meme chose qu'un pointeur normal... a une condition pres , l'utilisation que tu fais de ta fonction : fais des recherches sur les constructeurs copie par reference , et copie complete
je suis heureux de faire partie d'une grande famille ...!
|
|
lundi 6 mars 2006 à 04:34:45 |
Re : arguments : adresse ou pointeur ?

Guillemouze
|
a une condition pres , l'utilisation que tu fais de ta fonction : fais
des recherches sur les constructeurs copie par reference , et copie
complete
heuuuu keske t'entend par la nickydaquick ? tu veu dire que le comportement peut changer entre un pointeur et une reference si tu fai appel a un constructeur dans la fonction appellée???
|
|
lundi 6 mars 2006 à 21:06:11 |
Re : arguments : adresse ou pointeur ?

nickydaquick
|
Non , mais que les 2 constructeurs d'une classe , meme si l'implementation peut sembler vouloir dire la meme chose , ne sont pas appeles dans les meme situations. Pour ce qui concerne la fonction , ca marche mais ne prenez surtout pas pour acquis que ces 2 modes se valent partout. :D
je suis heureux de faire partie d'une grande famille ...!
|
|
lundi 6 mars 2006 à 21:08:21 |
Re : arguments : adresse ou pointeur ?

nickydaquick
|
Réponse acceptée !
Excusez - moi , j'aurais bien voulu ajouter , pour clore tout ceci qu'a mon avis une fonction appelee fct / void fct(int& a, int& b) == void fct(int* a, int* b) en general mais la meilleur serait plus explicitement void fct(int* const a, int* const b); MErci je suis heureux de faire partie d'une grande famille ...!
|
|
Cette discussion est classée dans : adresse, pointeur, arguments
Répondre à ce message
Sujets en rapport avec ce message
Donner une adresse à un pointeur... [ par anosan ]
Salut,J'aimerais savoir comment spécifier à un pointeur quelle adresse il doit pointer (sachant que cette adresse n'est pas celle d'une variable!).Mer
PROB avec pointeur THIS [ par jfk20004 ]
Salut,tout ce que je sais à propos du pointeur this:-c'est un pointeur sur l'adresse d'un objet-il permet des appels en cascade de fonctionsquelqu'un
"Comparaison" pointeur [ par LordBob ]
Bonjour a tous,voila j'ai des petits problèmes avec une application et mes pointeurs... en fait je récupéren en début de programme l'adresse IP d'une
pointeur sur une fonction [ par AmineTheGreat ]
Bonjour,J'ai déclarer un pointeur sur une fonction et je veux récuperer l'adresse de cette fonction comment faire?int (*task1)( );je veux mettre l'adr
pointeur-mémoire [ par baby3378 ]
bonjours à tous,Voila j'ai voulu créé un programme qui peut acceder à la mémoire grace aux pointuer, je m'explique:_un pointeur se place sur une adres
Arguments et pointeur. [ par moumouteb ]
Bonjours. Voici le bout de code qui pose problème:int Jeu (*ecran) { ecran = SDL_SetVideoMode(Fenetre.x, Fenetre.y, 32, SDL_HWSURFACE | SDL_DOUBLE
Mettre une adresse dans un pointeur [ par pepsidrinker ]
Bonjour!vous trouverez sans doute ma question stupide,mais jaimerai avoirun moyen pour mettre une adresse voulus dans un pointeur.exemple :long* a;a =
Passage d'arguments par valeur ou par adresse [ par ToutEnMasm ]
Salut,J'ai besoin de savoir comment le c++ determine si un argument est passé par adresse ou par valeur.Bien que sachant le rôle du *,& et du int,cons
pointeur de pointeur de pointeur [ par am1150 ]
Salut, quelqu'un peut-il me dire pourquoi à partir de la 3emme adresse de **a est égale à 0? code : char* EnerconTextAlTest3(char* NamePark,int Nu
Mémoire partagée et pointeur [ par darsh99 ]
Bonjour,J'essai de faire passer un tableau dynamique, un pointeur donc, d'un programme à un autre, l'adresse est bien passée et les champs non dynamiq
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|