当我在 c++ 中使用指针而不是从 this 对对象方法进行函数调用时,有什么区别:
void Main::Init()
{
Foo foo;
Obj obj;
Obj.someMethod(foo) // signeture : someMethod(Foo f)
}
对此:
void Main::Init()
{
Foo* foo = new foo();
Obj obj;
Obj.someMethod(foo) // signeture : someMethod(Foo* f)
}
更新
或这个:
void Main::Init()
{
Foo* foo = new foo();
Obj obj;
Obj.someMethod(foo) // signeture : someMethod(Foo *& f)
}
在内存和编译器方面什么更好 在实际中更推荐什么我看不出两者有任何差异 我从 Foo 中得到了我需要的东西