有一堂课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 文档在哪里描述了这些行为?还是我错了?