Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Amenintat cu moartea de un numar ...

La multi ani @AndReW99!

Alegere masina £15000 uk

TVR vrea sa lanseze o platforma d...
 Strategie investie pe termen lung...

Modulator FM ptr auto alimentat p...

orange cablu f.o. - internet fara...

Robinet care comuta traseul
 A fost lansata Fedora 40

Samsung S24 plus

Imi iau un Dell? (Vostro vs others)

Abonati Qobuz?
 transport -tren

Platforma electronica de eviden&#...

Cot cu talpa montat stramb in per...

Sfat achizitie sistem audio pentr...
 

Right and left reference

- - - - -
  • Please log in to reply
2 replies to this topic

#1
TheOriginals

TheOriginals

    Junior Member

  • Grup: Members
  • Posts: 51
  • Înscris: 30.05.2016
Salut..
Incerc sa ma lamuresc putin cum e cu right and left ref (asta am inteles) problema mea e ca nu reusesc sa-mi dau seama din ce gasesc pe net(fiecare cu o versiune, mai sunt si care bat) despre modul in care se creeaza obiectele temporare (cate si cum) si cum sunt transferate.

Am un exemplu simplu:
#include<iostream>
#include<vector>
using namespace std;
class boVector {
private:
int size;
public:
boVector() {};
boVector(const boVector& rhs) { cout << "copy Ctor."<<endl; }
boVector(boVector&& rhs) { cout << "move Ctor." << endl; }
};
void foo(boVector v) {}
boVector createBoVector() { return boVector(); }
int main()
{
//copy
boVector reausable = createBoVector();
foo(reausable);
//move
foo(std::move(createBoVector()));
return 0;
}



Am incercat sa fac si o imagine dar cand am inceput sa o desenez mi-am dat seama ca nu stiu prea bine ce se intampla..
[ https://preview.ibb.co/gwPB6m/F_r_titlu.png - Pentru incarcare in pagina (embed) Click aici ]

Ceva intrebari rusioase Posted Image
  • Ce se intamplă când se alocă un obiect temporar?

  • Cand este distrus ? (tot timpul la finalul acoladelor)

  • Cum se realizează transferul în cadrul rRef (cate obiecte se generează în cele din urmă)?

  • Dacă obiectul meu este temporar și eu copii o referință către el atunci cand este distrus iar eu inca folosesc o referinta catre el asta nu ar trebui sa conducă în undefined behavier?

  • Cum se realizează transferul unei variabile rValue nu neapărat referință?
Mulțumesc Posted Image

#2
TheOriginals

TheOriginals

    Junior Member

  • Grup: Members
  • Posts: 51
  • Înscris: 30.05.2016
Nu ma ajuta nimeni cu o idee? :D
Am tot cautat pe net dar nimeni nu a reusit sa ma lumineze cum ne salveaza move Ctor si cum reuseste sa tina adresa si sa o folosesasca a unei variabile temporare. :(

#3
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,235
  • Înscris: 24.02.2007
E prea complexa tema pentru a o rezuma aici.

Cand returnezi ceva vezi ca mai ai copy-ellision, ce a devenit garantata in noul standard (si era aplicata de unele compilatoare si inainte, ca o optimizare).

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate