如果我有一个成员函数,它返回一个我用来访问其他对象的指针......
优化代码的最佳方法是什么?我应该退回const int*
还是const int*&
?
EDIT。我的意思是:返回指针是否涉及副本?会返回一个易于为编译器优化的指针引用吗?我没有将返回的值赋给任何变量:
my_object.get_ptr()->function();
答案 0 :(得分:1)
我不知道它是如何进行优化的。我会选择使代码更容易理解和纠正的方式。看一下以下内容。 http://markgodwin.blogspot.com/2009/08/c-reference-to-pointer.html
显然,有一段时间必须使用对指针的引用(反之亦然),以使程序正确!但是,在这种情况下,在按值传递和按引用传递之间进行选择实际上并不是一个优化问题。哪种方式会导致您期望的行为?
答案 1 :(得分:0)
指针和引用的大小相同,所以它不应该重要。(在我看来,这也是一些需要担心的事情)
这是我从中获取该信息的链接 What are the differences between a pointer variable and a reference variable in C++?