
4 Dec
2008
4 Dec
'08
4:17 p.m.
2008/12/4 Hicham Mouline
AFAIU, deriving from boost::noncopyable disables _accidental_ object copying.
Is it possible to implement a clone() const member function of the object to _explicitly_ get a copy of the object?
Perhaps deriving boost::noncopyable makes it totally impossible to ever get a copy of an object without resorting to byte copy.
To avoid creating copies accidentally consider making copy constructor explicit. struct Foo { explicit Foo(const Foo&) {} }; void Bar(Foo); int main() { Foo foo; Bar(foo); // Error, implicit copy. Foo copy(foo); // OK, explicit copy. } Roman Perepelitsa.