我考虑写一个行为不同,这取决于其构造方法的类:类拥有和同时
例子:
// #1 - Own an object
class MyClass {
MyClass(std::string const& str) : m_str(str) {}
std::string m_str;
}
// #2 - Share an object (Can be done by pointer as well)
class MyClass {
MyClass(std::string& str) : m_str(str) {}
std::string& m_str;
}
- 这是兼得的行为是个好主意同一班?
- 实现这样一个类的最好方法是什么?
你究竟在做什么? – 2012-08-14 12:58:32
我想要有一个类有时负责数据的重新分配,有些时候它只引用它,并允许更高级别的逻辑访问它并及时释放它。 – Xyand 2012-08-14 13:00:22
理想情况下,一个班级应该做一件“事情”,而不是两件事。您是否考虑过与更高层次的逻辑分开来管理释放?例如,在MyClass中始终有一个引用,并在必要时在构造MyClass之前创建字符串的副本。 – 2012-08-14 13:08:31