begin process at 2012 05 29 15:42:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Petit source à expliciter


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petit source à expliciter

vendredi 21 janvier 2005 à 02:55:24 | Petit source à expliciter

GIRAFE ENRHUMEE

Membre Club
Voici un source dont j'aimerais avoir une explication :

   class vecteur3d{
    float v[3];

    public:
    vecteur3d(float c1=0,float c2=0,float c3=0){
      v[0]=c1;
      v[1]=c2;
      v[2]=c3;
    }
    float&operator[](int);
  };

  float&vecteur3d::operator[](int i){
    if(i<0||i>2)i=0;
    return v[i];
  }


On a surdéfinit l'opérateur [], et il renvoit float& afin de pouvoir exister en tant que lvalue. Ce que je ne comprends pas, c'est pourquoi return v[i] a-t-il comme type float& et pas plutôt float ? Et puisqu'on retourne un type float&, n'aurait-il-pas fallu écrire return v+i; ?
vendredi 21 janvier 2005 à 07:25:45 | Re : Petit source à expliciter

asmanur

float& => n'est pas un pointeur c une référence je crois, et tous les opérateurs
sur définis doivent retournés une référence et s'il avait mis return v+i il aurait
retourné un float*
une référence ca a tous les avantages des pointeurs sans les inconvénients
Voila j'espere t'avoir aidé meme si tt ce que je raconte n'est pas forcément vrai
 (j'y connais pas grd chose sur le sujet)

vendredi 21 janvier 2005 à 10:28:07 | Re : Petit source à expliciter

AmK

return v+i ça te renvoie l'adresse d'un pointeur !
en ce qui concerne le float& , justement c'est le renvoie d'une réference qui crée une valeur gauche .... si tu veux l'utiliser comme valeur droite tu mets un const float&

le C++ jusqu'à ce que la mort nous sépare  !

vendredi 21 janvier 2005 à 11:00:01 | Re : Petit source à expliciter

bayeto

Membre Club
En clair, tu peux écrire ca:
vecteur3d monvecteur;
monvecteur[0] = 3.5;


Cette discussion est classée dans : source, return, float, vecteur3d, expliciter


Répondre à ce message

Sujets en rapport avec ce message

vc++ commande return this; [ par julojulo ] je suis en train d'ecrire une classe vecteur semblable a la classe vector, je dois donc redefinir loperateur =mais je ne sais pas si VC++ accepte la c VC++ pb comande return this; help [ par julojulo ] je suis en train d'ecrire une classe vecteur semblable a la classe vector, je dois donc redefinir loperateur =mais je ne sais pas si VC++ accepte la c pb operator vecteur->float [ par Arnaud16022 ] Hi!j'ai une classe Vecteur3d: float x, y, z;et ce que j'aimerais faire, c'est un truc du genre:(float[]) operator=(Vecteur3d V){ float num[3]={V.x,V.y racine niéme [ par imanedaoudi ] Salut, je cherche à calculer la racine niéme d'un float donnée (le n est float aussi:par exemple x à la puissance 0.234).est ce qu'il y a une fonction Algorithme RSA utilisation des floats [ par douss4 ] Bonsoir,J'ai essayé d'écrire un algorithme de cryptage (RSA). Le code à bien marché avec des int. J'ai changé les int par des float. Au moment du décr Integrale d'exponentielle en C [ par Annoka ] Bonjour,Me voici devant un probleme tres certainement numerique que je n'arrive pas a resoudre.. si quelqu'un pouvait m'aider ce serait le pied!Je sui Winamp source [ par xarier ] Svp j'ai chercher la source de winamp 2 et j'ai pas trouverpouviez vous m'indiquet le lien :)Life is Short Tester fichier UNIX ou Windows... [ par Clonk ] Bonjour,Voilà mon problème, je dois gérer des fichiers textes, mais ils peuvent être indifféremment au format UNIX ou Windows... comme tout est géré l tableau a 2 dim [ par Kevin972 ] salut a tous!!g un probleme pour passer en parametre un tableau a 2 dimensions:fonction1(void){ float tab[400][400];............ fonction(tab);}fo Prob WIN32 [ par AngeloVivaldi ] bonjour, voici un code ke g tapé pour mon apprentissage de la prog Graphique :#include LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, L


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales