Ben Madde 11 benim atama operatörü içinde "kopyalama ve takas" tekniğini kullanmaktır öneren olduğu "Scott Meyers tarafından Etkili C++", okuyordu:kopyalama ve takas tekniği atama operatörü işlevi içinde kopya kurucu kullanır
Widget& Widget::operator=(const Widget &rhs)
{
Widget temp(rhs); // Copy constructor
swap(temp); //Swap with *this
return *this;
}
Ama Item 12'de yazılıdır:
Bu kopya atama operatörü kopya kurucu çağırmak için hiçbir mantıklı.
Öğe 11 ve Öğe 12'nin çelişkili olduğunu düşünüyorum. Yanlış anlıyor muyum?
You Muhtemelen bunu bağlam dışı okuyor. – LogicStuff
Bu kod, derleyicinin bir kopyasını oluşturmasına veya taşımasına izin vererek, pass-by-value kullanmalıdır. –
@BenVoigt Evet 'pass-by-value' başka bir tekniktir ancak bu da doğrudur. – EmptyData