当前位置:  开发笔记 > 编程语言 > 正文

在C++中,通过引用扩展范围是否安全?

如何解决《在C++中,通过引用扩展范围是否安全?》经验,为你挑选了2个好方法。

在C++中,通过引用扩展范围是否安全?

在代码中,我的意思是:

MyCLass& function badIdea()
{
    MyClass obj1;
    ...
    return obj1;
}

Harald Schei.. 21

通过引用扩展范围是不安全的.当obj1超出范围时,C++中的对象不被引用计数它将被删除,引用badIdea()的结果只会让你遇到麻烦



1> Harald Schei..:

通过引用扩展范围是不安全的.当obj1超出范围时,C++中的对象不被引用计数它将被删除,引用badIdea()的结果只会让你遇到麻烦



2> Motti..:

可以使用引用扩展范围的唯一地方是const引用in namespace或函数范围(不包括类成员).

const int & cir = 1+1; // OK to use cir = 2 after this line 

这个技巧在Andrei Alexandrescu的非常酷的范围防守中使用,以捕获const对具体范围防守的基类的引用.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有