c++ - 返回对未定义指针的引用
问题描述
如果一个类有一个未定义的指针作为私有变量,如果观察者函数如下所示,如何检查指针是否有效:
Class Foo
{
private:
Object * object;
public:
Foo();
virtual const Object & get_object() const { return * object; }
}
解决方案
在构造函数中(在初始化列表中),您可以Object *object
将nullptr
Foo::Foo()
:
object(nullptr)
{}
并在该get_object()
方法中,进行 if-check 以确保object
在取消引用之前不为空:
if(object)
return *object;
else
// create and return a new Object depending on your use-case.
推荐阅读
- python - Django + (django-model-utils):结合两个模型/从两个模型继承
- performance - 从频率值计算风速
- python - 使用 peewee 如何连接到现有的 SQLite 数据库以进行只读
- c# - ListView 内的 Xamarin 表单用户控件绑定
- typo3 - 如何在 TYPO3 中上传 PDF 文件并通过电子邮件发送?
- json - Angular 5 Observable 映射到 Json 数组
- ubuntu - 在 docker build 的一个步骤中在容器中运行后台进程
- r - 参数名称函数 R
- python - 使用flask.app.test_client()测试Flask应用程序时如何在python Flask中指定标头?
- php - Pimcore:保存对象的新版本但不发布此版本