C 返回复制对象
C++ Returned Copy Object
我有一个具有函数的类,该功能返回私人成员的副本:
class MyClass
{
MyString str;
public:
MyString getStr() { return str; }
}
另一个功能func接收到绑定到语句句柄的const &MyString
。当我调用func(o.getStr())
时,getStr
返回的复制对象在func
调用后不范围,并且对语句句柄不再有效。我可以创建一个局部变量MyString ms = o.getStr()
,然后将其传递给func
,但是我不想为不同的getters多次这样做。另外,func
需要进行参考,因为有时我需要传递局部变量并在随后使用语句句柄后更改其值。有很好的解决方案吗?
MyString
复制 getStr()
返回在 func()
退出之前不会脱离范围,以确保 func()
可以访问副本。
相关文章:
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 如何在向量列表初始化时避免对象复制以及如何延长临时的生存期
- 了解在 C++ 中分配容器时的对象复制
- C++类对象复制构造函数和运算符=
- 复制 elision/RVO 会导致从同一对象复制/移动吗?
- 如何在循环内将大对象复制到omp任务中?
- 为什么当我添加一个不同的对象(复制构造函数中的参数)时调用复制构造函数?
- 无法将类构造函数中新创建的对象复制到 C++ 中的向量成员
- 将C++对象复制到指向新指针的指针处
- 将一个 OpenCV OutputArrayOfArrays 对象复制到另一个对象
- 选择性地禁用隐式对象复制
- 不能从文件到指针向量的对象复制
- 从派生对象复制构造
- OpenCV Mat对象复制速度更快
- 将子对象复制到父对象
- 为什么普通的 c++ 编译器不优化对象复制?
- C :将一个对象复制到构造函数中的另一个对象
- 使用命名对象复制构造函数
- 不必要的对象复制 - C++ STL
- 如何将一个类的对象复制到另一个类中