我觉得这有点主观; 我不确定这个意见是否会一致(我已经看过很多代码片段,其中返回了引用).
根据对这个问题的评论我刚刚问过,关于初始化引用,返回引用可能是邪恶的,因为,[据我所知]它更容易错过删除它,这可能导致内存泄漏.
这让我很担心,因为我跟随了一些例子(除非我想象的事情)并且在相当多的地方做到了这一点......我误解了吗?这是邪恶的吗?如果是这样,那有多邪恶?
我觉得因为我的指针和引用混合在一起,再加上我是C++的新手,以及对什么时候使用的完全混淆,我的应用程序必须是内存泄漏地狱......
另外,我知道使用智能/共享指针通常被认为是避免内存泄漏的最佳方法.
以下程序给我运行时错误(分段错误(SIGSEGV))。
#include <iostream>
using namespace std;
int& bar()
{
int n = 10;
return n;
}
int main() {
int& i = bar();
cout<<i<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的老师告诉我,这是一种不确定的行为,因为悬挂参考。是吗 如果是,那么如何避免呢?