CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C+ +]Pointeur ou référence ?

rangerprice
rangerprice
Niveau 10
17 novembre 2014 à 01:32:59

Lequel choisir ? :hap:

prenons les exemples suivant:

int somme(int *a, int *b)
{
(*a) += (*b);
}

et:

int somme(int &a, int&b)
{
a += b;
}

Il n'y a aucune différence ! :hap:

Pourquoi utiliser des pointeurs lorsque les références sont plus simple à travailler et possède le même gain en performance ?

DirectX11
DirectX11
Niveau 6
17 novembre 2014 à 02:31:52

On ne les utilises pas pour faire la même chose.

Tu peu changer vers quoi pointe un pointeur alors qu'une référence c'est juste un pointeur constant toujours déréférencé. c'est pas vraiment la même chose.

rangerprice
rangerprice
Niveau 10
17 novembre 2014 à 02:37:26

Oui, ça c'est sur. :hap:

Mais dans les exemples ci-dessus, n'y a t-il rien qui démarque les pointeurs des références ?

godrik
godrik
Niveau 30
17 novembre 2014 à 04:28:08

La raison pour laquelle il y a eds pointeurs et des references est pour permettre la reutilisation de code. Typiquement en passant des references vers les gros objets tout en conservant la notation classique et non pointeur des choses.

jenaipasdenom
jenaipasdenom
Niveau 15
17 novembre 2014 à 07:47:24

L'essentiel a été dit plus haut : une référence est constante, un pointeur ne l'est pas. (enfin pas nécessairement, cas de this notamment http://www.stroustrup.com/bs_faq2.html#this)
L'idée qu'il faut retenir c'est que conceptuellement, une référence représente la variable elle même tandis qu'un pointeur est une variable à part entière représentant une adresse.

Dans le cas que tu nous donne, un pointeur n'a aucune utilité, Stroustrup a introduit les références essentiellement pour ce cas là : http://www.stroustrup.com/bs_faq2.html#pointers-and-references

Ace_Attorney
Ace_Attorney
Niveau 10
17 novembre 2014 à 11:41:24

L'utilité, c'est aussi qu'une référence est plus sécurisé, tu n'as pas à checker si le pointeur est null, et empêcher d'envoyer des pointeurs fous.

123_bou
123_bou
Niveau 10
19 novembre 2014 à 01:54:25

Les pointeurs seront beaucoup plus utile quand tu verra les itérateurs, le mot clé this et l'héritage/polymorphisme.

Un exemple simple est :

class Véhicule {};

class Voiture: public Véhicule {};

Véhicule * vec = new Voiture();

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment