Beş Kuralı

Beş kuralı, üç kuralına taşıma semantiklerini de ekler. Kullanıcı tanımlı dtor, kopyalama ctor, kopyalama operator= yapıları, taşıma ctor’u ve taşıma operator=‘nın implicit tanımını engellendiğinden, bu beşi beraber tanımlanmalıdır:

class Book {
	public:
	  Book() = default;

	  Book(const Book& other) = default;

	  auto& operator=(const Book&) { return *this; }

	  Book(Book&& other) = default;

	  auto& operator=(Book&&) { return *this; }

	  ~Book() = default;
};

C++RAII

60 Words

2018-05-31 03:00 +0300