12 Ekim 2017 Perşembe

noncopyable

Giriş
Şu satırı dahil ederiz.
#include <boost/noncopyable.hpp>
Bir sınıfın copy constructor metodunu private yaparak kopyalanmasını engeller. İçi şuna benzer.
// similar to boost::noncopyable
class noncopyable
{
protected:
  constexpr noncopyable() = default;

  noncopyable(const noncopyable&) = delete;
  noncopyable& operator=(const noncopyable&) = delete;
};
noncopyable aynı zamanda non-movable hale gelir. Şu işi yapamayız.
foo a;
b = std::move(a);
Örnek
Şöyle yaparız
class foo : private boost::noncopyable{
  ...
}

Hiç yorum yok:

Yorum Gönder