I noted that in C++, there are several way to pass a variable to a function, here is a list:
struct A
{ 
   int a;
   void test()
   {
      std::cout<<"this is a test:"<<a<<std::endl
   }
}
void f0(A p)
{ 
    p.a=0;
    p.test();
}
void f1(A *p)
{
    p->a=1;
    p->test();
}
void f2(A &p)
{
    p->a=2;
    p->test();
}
void f3(A &&p)
{
    p->a=3;
    p->test();
}
what is the difference? I know about f0, f1 and f2 and present them here for completes.
What is the signification of f3 and how I can use it?
Aucun commentaire:
Enregistrer un commentaire