有一堂课CBase。
class CBase
{
...
CBase &Create()
{
return *this;
}
...
}
如果我声明一个左值引用和一个指针,
CBase &kk = CBase().Create();
CBase *pp = &( CBase().Create() );
是kk悬空引用还是pp悬空指针?
我认为kk并且pp悬而未决。因为调用CBase()无疑会创建一个临时对象,所以导数 ,CBase().Create()也应该是。但是,Xcode(6.1 版)没有给出警告或错误消息。
谁能给出一些提示或告诉我 C++11 文档在哪里描述了这些行为?还是我错了?