如何在不使用临时变量的情况下取消引用返回指针的函数的返回值?
How do I dereference the return value of a function returning a pointer without using a temporary variable?
C++菜鸟在这里。
所以,这是我class DbHelper
的成员函数:
QSqlQueryModel* getCourses();
现在,每当我在QSqlQueryModel courses
是成员的class MyModel
这样做时:
this->courses = *(dbHelper->getCourses()); // problem here ... this is inside a member function of MyModel
Visual Studio说
功能。。。运算符 = 无法引用...它是已删除的 功能
当然,我可以这样做:
QSqlQueryModel* q = dbHelper->getCourses();
this->courses = *q;
但我认为声明另一个变量只是为了取消引用它可能是多余的。那么有没有更短的方法呢?
编辑:
刚刚用VS验证了它,结果证明我真的不能。整个下午,我的脑子真的在学习指针和参考文献时变得混乱。谢谢大家。
QSqlQueryModel
类的作者很可爱,并且巧妙地禁止复制该对象的实例。
类成员应为指针类型:
QSqlQueryModel* courses;
正如文档所述,您不拥有与指针关联的内存。然后你设置得很琐碎
this->courses = dbHelper->getCourses();
相关文章:
- C++取消引用指针.为什么会发生变化
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 取消引用运算符不能重载
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- C++ 关于指针取消引用的技术问题
- 没有取消引用/解包对象的标准方法?
- 列表 iter 不取消引用 使用列表进行插入排序
- 在这个函数中是有缺陷的,因为取消引用 null 是无效的,所以我想更改代码
- 取消引用结束指针到数组类型的一个
- 取消引用向量时出现问题
- 取消引用指向整数的指针时获得不同的结果
- C++:取消引用十六进制值,有点语法问题
- C/C++ 取消引用错误:在空检查之前取消引用
- 取消引用后C++空测试
- 立即取消引用unique_ptr
- 如何在不使用临时变量的情况下取消引用返回指针的函数的返回值?
- 取消引用 void 指针以将值分配给结构
- boost_multi_index迭代器取消引用给出常量
- 为什么"std::uninitialized_copy"通常取消对未初始化内存的迭代器的引用不是未定
- 矢量迭代器不能与 std::shared_ptr<> 取消引用