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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Lambda capture de pointeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Lambda capture de pointeur

n°2306851
b9ron
REEEEEEEEEEEE
Posté le 19-10-2017 à 16:17:05  profilanswer
 

Salut,

 
Code :
  1. char* c1 = "1";
  2. char* c2 = "2";
  3. char* c3 = "3";
  4. char* c4 = "4";
  5. std::vector<char*> vec{ c1, c2 ,c3, c4 };
  6. std::for_each(vec.begin(), vec.end(), [](auto& v) { v = "P"; });
 

Dans cet exemple, j'aurais aimer savoir s'il y avait une difference entre la capture par copie et par reference pour les pointeurs.

 

C'est a dire si la capture par copie créait une variable interne en copiant le pointeur ?
(Perso, j'ai essayer de regarder au niveau assembleur mais j'ai rien trouver au niveau difference en taille)

 

Merci, par avance :o

 


Message édité par b9ron le 19-10-2017 à 16:18:09
mood
Publicité
Posté le 19-10-2017 à 16:17:05  profilanswer
 

n°2306857
theshockwa​ve
I work at a firm named Koslow
Posté le 19-10-2017 à 17:07:24  profilanswer
 

De quoi tu parles ? Tu n'as pas de capture ici, juste une fonction avec un argument ...


---------------
last.fm
n°2306859
b9ron
REEEEEEEEEEEE
Posté le 19-10-2017 à 17:53:21  profilanswer
 

[:vizera]
 
J'ai toujours penser que les [] avait une incidence sur les arguments de la fonction ...

n°2306860
theshockwa​ve
I work at a firm named Koslow
Posté le 19-10-2017 à 18:16:39  profilanswer
 

[] signifie que tu ne captures rien.
[=] signifie que tu captures des copies de ce que tu références dans ta lambda
[&] signifie que tu captures des références vers ce que tu références dans ta lambda.
 
Le point est que ta lambda ne référence pas de variable locale, donc il n'y a rien à mettre dans sa clôture lexicale.


---------------
last.fm
n°2306863
b9ron
REEEEEEEEEEEE
Posté le 19-10-2017 à 19:10:50  profilanswer
 

Merci  :love:


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

  [C++] Lambda capture de pointeur

 

Sujets relatifs
[C++] Organisation et conventions d'un projet NMakeC# Word CustomProperties
C++ builder Firemonkey créer une Image avec BitmapDesassembler un programme linux (en C)
Bind, méthode et pointeur sur méthode[C++] Utilisation fonction simple
[C] Problème de compilation entre emcc et OpenSSL (Résolu)Macro capture d'écran
Constructeur de copie Liste chainée C++Envoi d'informations en format kexadecimal en langage C
Plus de sujets relatifs à : [C++] Lambda capture de pointeur


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