我最近遇到了一些看起来像这样的C++代码:
class SomeObject
{
private:
// NOT a pointer
BigObject foobar;
public:
BigObject * getFoobar() const
{
return &foobar;
}
};
Run Code Online (Sandbox Code Playgroud)
我问程序员为什么他不只是把foobar作为指针,他说这样他就不用担心分配/释放内存了.我问他是否考虑使用一些智能指针,他说这也很有用.
这是不好的做法吗?这似乎非常hackish.