inscription
Ajouter une réponse
 

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Une colle en C++ à la con !

Bas de page 
n°350435
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:04:44  answer
 
Publicité

On va réviser "la réference" :D
 
Pourquoi cette declaration est interdite en C++ :
 
int & n = 5 ;
 
Et pourquoi celle là est stupide :
 
const int & n = 5 ;
 
:p

n°350481
SaintAndre   profil
Profil : Pilote
Note : 1.8/4 pour 8 votes
Posté le 05-02-2002 à 17:17:32  answer
 

tu veux des cours de C++ ? :langue:

n°350486
cubitus07   profil
Profil : Pilote pro
Note : 1.5/4 pour 60 votes
Posté le 05-02-2002 à 17:18:21  answer
 

pour la premiere je sais pas mais ca me viendrais pas a l'idee de faire ca et pour la deuxieme puisque tu affectes une constantes ca ne sert a rien de mettre un pointeur  qui "pointe" sur ta valeur de constante

mood
Publicité
Posté le 05-02-2002 à 17:18:21  profilanswer
 

n°350497
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:21:31  answer
 

Cubitus07 a écrit :

 
pour la deuxieme puisque tu affectes une constantes ca ne sert a rien de mettre un pointeur  qui "pointe" sur ta valeur de constante




 
Nous parlons de réference, pas de pointeur ! nous sommes en C++
Il n'y a pas de pointeur ici...

n°350501
Stv406   profil
Profil : Pilote pro
Avatar
Note : 1.8/4 pour 8 votes
Posté le 05-02-2002 à 17:22:35  answer
 

'tain. Je ne me rappelle plus de rien en C++ alors que je n'ai jamais eu moins de 19/20 dans cette matière en cours ! :cry:

n°350509
cubitus07   profil
Profil : Pilote pro
Note : 1.5/4 pour 60 votes
Posté le 05-02-2002 à 17:23:58  answer
 

ben je sais pas

mood
Publicité
Posté le 05-02-2002 à 17:23:58  profilanswer
 

n°350512
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:24:18  answer
 

SaintAndré a écrit :

 
tu veux des cours de C++ ? :langue:
 




 
On sèche SaintAndré ? :p

n°350520
cubitus07   profil
Profil : Pilote pro
Note : 1.5/4 pour 60 votes
Posté le 05-02-2002 à 17:26:05  answer
 

j'ai ecris ta premiere ligne en c++ j'ai compile et ... pas d'erreur ni de warning :(

n°350523
SaintAndre   profil
Profil : Pilote
Note : 1.8/4 pour 8 votes
Posté le 05-02-2002 à 17:26:53  answer
 

Dans la déclaration d'une prodédure on peut préciser  
int myproc( int &x) {}
qui signifie un passage par référence !
 
int myproc(int x = 5) {}
qui signifie valeur par défaut !
 
Passer une référence par défaut c'est débile ou alors on fait référence à l'adresse 5 de la mémoire ! :W

n°350524
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:27:28  answer
 

Cubitus07 a écrit :

 
j'ai ecris ta premiere ligne en c++ j'ai compile et ... pas d'erreur ni de warning :(




 
Alors tu n'es pas en VC++ :
 
error C2440: 'initializing' : cannot convert from 'const int' to 'int &'
A reference that is not to 'const' cannot be bound to a non-lvalue
 
Tu es sur quoi ???

n°350533
SaintAndre   profil
Profil : Pilote
Note : 1.8/4 pour 8 votes
Posté le 05-02-2002 à 17:29:24  answer
 

cyp a écrit :

 
On sèche SaintAndré ? :p




 
Tu rigoles le C et le C++ je suis tombé dedans quand j'étais petit ! :langue:

n°350534
cubitus07   profil
Profil : Pilote pro
Note : 1.5/4 pour 60 votes
Posté le 05-02-2002 à 17:29:25  answer
 

dans l'aide super bien faite de C++ il indique "ne peut pas convertir const int en const &"

n°350538
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:31:10  answer
 

SaintAndré a écrit :

 
Dans la déclaration d'une prodédure on peut préciser  
int myproc( int &x) {}
qui signifie un passage par référence !
 
int myproc(int x = 5) {}
qui signifie valeur par défaut !
 
Passer une référence par défaut c'est débile ou alors on fait référence à l'adresse 5 de la mémoire ! :W  
 




 
Je ne parle pas de "passage par référence" mais de "réference" tout cours...
Tu n'a pas répondu :p

n°350552
Gu   profil
Profil : Pilote semi-pro
Note : 1.3/4 pour 10 votes
Posté le 05-02-2002 à 17:33:23  answer
 

cyp a écrit :

 
On va réviser "la réference" :D



 
La référence c'est pour les tapettes et les handicapés-psychomoteurs-ex-programmeur-pascal !

n°350557
momo   profil
Profil : Vétéran confirmé
Note : 1.7/4 pour 9 votes
Posté le 05-02-2002 à 17:34:45  answer
 

cyp a écrit :

 

Cubitus07 a écrit :

 
j'ai ecris ta premiere ligne en c++ j'ai compile et ... pas d'erreur ni de warning :(




 
Alors tu n'es pas en VC++ :
 
error C2440: 'initializing' : cannot convert from 'const int' to 'int &'
A reference that is not to 'const' cannot be bound to a non-lvalue
 
Tu es sur quoi ???




 
Pareil mais alors aucune idée excusé moi mon niveau c++ n'est pas aussi élevé, mais sinon je répondais pareil que saintandré

n°350576
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:40:12  answer
 

cyp a écrit :

 
On va réviser "la réference" :D
 
Pourquoi cette declaration est interdite en C++ :
 
int & n = 5 ;
 
Et pourquoi celle là est stupide :
 
const int & n = 5 ;
 
:p




 
 
Alors :
 
int & n=5; revient à initialiser n avec une référence à l'entier 5 !
Quel intêret alors de l'instruction n=5 ??? :p c'est la même chose !
 
on peut forcer le C++ à le faire quand même avec CONST :
 
const int & n=5; il n'y aura pas d'erreur de compilation !
mais vous aurez ecrit en fait n = 5 , ni plus, ni moins :p

n°350597
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 17:47:30  answer
 

Gu a écrit :

 
La référence c'est pour les tapettes et les handicapés-psychomoteurs-ex-programmeur-pascal !




 
là, GU je suis etonné !
La réference est un méthode clé du C++ ! (elle n'existe pas en C).
 
 
 
 

n°350640
Gu   profil
Profil : Pilote semi-pro
Note : 1.3/4 pour 10 votes
Posté le 05-02-2002 à 18:00:07  answer
 

cyp a écrit :

 
là, GU je suis etonné !
La réference est un méthode clé du C++ ! (elle n'existe pas en C).




 
On peut écrire sans...

 


n°350648
cyp   profil
Profil : Pilote pro
Note : 2.2/4 pour 44 votes
Posté le 05-02-2002 à 18:03:00  answer
 

Un cas simple : modifier la valeur d'un pointeur dans une fonction...
Et que cette modification soit définitive...
 
Et bien on passe le pointeur par référence !

n°350660
icare   profil
Profil : Routard
Note : 2.7/4 pour 9 votes
Posté le 05-02-2002 à 18:06:31  answer
 

Cubitus07 a écrit :

 
j'ai ecris ta premiere ligne en c++ j'ai compile et ... pas d'erreur ni de warning :(




 
Essaie en exécution avant de conclure :W
 
Des options de compilation peuvent faire apparaitre des warnings supplémentaires, et des compilateurs moins permissifs (chez GNU..) peuvent stopper ce qui passe avec d'autres...

n°350674
Gu   profil
Profil : Pilote semi-pro
Note : 1.3/4 pour 10 votes
Posté le 05-02-2002 à 18:10:10  answer
 

cyp a écrit :

 
Un cas simple : modifier la valeur d'un pointeur dans une fonction...
Et que cette modification soit définitive...
Et bien on passe le pointeur par référence !



 
Oui ... ou tu passes explicitement l'adresse du pointeur et ta fonction appellée accepte un pointeur sur pointeur... Ce qui revient strictement au même...

n°351336
momo   profil
Profil : Vétéran confirmé
Note : 1.7/4 pour 9 votes
Posté le 05-02-2002 à 22:13:58  answer
 

Gu a écrit :

 

cyp a écrit :

 
Un cas simple : modifier la valeur d'un pointeur dans une fonction...
Et que cette modification soit définitive...
Et bien on passe le pointeur par référence !



 
Oui ... ou tu passes explicitement l'adresse du pointeur et ta fonction appellée accepte un pointeur sur pointeur... Ce qui revient strictement au même...
 




Jamais utilisé les références pour modifié la valeur d'un pointeur dans une class (et oui en objet il n'y as plu de fct :q)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
 

Sujets relatifs
Une bnne nouvelle :Une horreur en grande Bretagne !!
Une petite soirée chèvres ???Une émission vraiment top !
Une ch'tite pub bien sympaUne rencontre suisse du forum dès qu'il fera de nouveau beau...
Une naissance ....Une pub de ouf !
Une vidéo d'anthologie :Une vérité
Plus de sujets relatifs à : Une colle en C++ à la con !