【发布时间】:2015-11-08 16:52:27
【问题描述】:
我有类似这样的课程:
class A{
std::string tmp;
public:
const std::string &doSomething() const{
tmp = "something";
return tmp;
}
};
方法doSomething() 是const 并返回引用而不是字符串本身非常重要。
我看到的唯一方法是通过动态分配来做到这一点,例如类似:
class A{
MyClass *tmp = new MyClass();
public:
const MyClass &doSomething() const{
*tmp = "something";
return *tmp;
}
};
tmp 变量“占位符”仅在 doSomething() 内使用。
还有其他更清晰、更好的方法来存储这种临时值吗?
【问题讨论】:
-
为什么不
const std::string&? -
这是一个非常糟糕的主意。您应该考虑重新设计该类。
-
@cad 错字,将编辑