Насколько я понимаю, оператор присваивания неявно сгенерированный C ++ выполняет поэлементную копию (это, похоже, подтверждается также этот ответ). Но если во время копирования члена возникает исключение (например, потому что ресурс для этого члена не может быть выделен), будет ли копируемый объект застрять в недопустимом состоянии?
Другими словами, обеспечивает ли неявно созданный оператор присваивания только базовую гарантию, но не строгую гарантию?
Если нам нужна надежная гарантия для наших копий классов, должны ли мы реализовать оператор присваивания вручную с идиомой копирования и обмена?