gpt4 book ai didi

c++ - 接口(interface)引用作为参数

转载 作者:行者123 更新时间:2023-11-27 23:21:13 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Pointer vs. Reference

我想知道在某些接口(interface)上使用引用而不是指针是否有任何好处。更具体地说,让我们考虑一个小例子:

struct MyInterface {
virtual ~MyInterface() {}
virtual void f() = 0;
};

class MyClass : public MyInterface
{
virtual void f()
{
std::cout << "F()" << std::endl;
}
};


void myFunction(MyInterface& obj);

int main(int argc, char *argv[])
{
MyInterface* pObj = new MyClass;

myFunction(*pObj);

delete pObj;

getchar();
return 0;
}

void myFunction(MyInterface& obj)
{
obj.f();
}

myFunction中,MyClass的实例可以作为指针传递,很多书上都有写。我的问题是什么可以被视为良好做法(指针或引用),什么更有效?

抱歉,如果之前有人问过这个问题。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com