Boost logo

Boost Users :

Subject: Re: [Boost-users] noncopyable
From: Roman Perepelitsa (roman.perepelitsa_at_[hidden])
Date: 2008-12-04 11:17:58


2008/12/4 Hicham Mouline <hicham_at_[hidden]>

> 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.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net