Update C.83 with swap for resource mgmt. (#1694)
commit525d8f225eacf0746332a2a57b1bf1d3ca3050ac
authorFernando J. Iglesias García <fernando.iglesiasg@gmail.com>
Thu, 29 Oct 2020 18:12:40 +0000 (29 19:12 +0100)
committerGitHub <noreply@github.com>
Thu, 29 Oct 2020 18:12:40 +0000 (29 11:12 -0700)
treee8723a300f63a243c0badae257b82f06cdeff1cd
parent840fa592ac926ba844906266845966813e9d50d2
Update C.83 with swap for resource mgmt. (#1694)

* Update C.83 with swap for resource mgmt.

The swap is useful to implement assignments idiomatically (e.g. copy-swap idiom).

With the current enforcement, to non-virtual classes, very simple classes (e.g. `trivially_copyable`, a struct encapsulating an stl container) are suggested to have a swap. This suggestion can be argued wrong since for very simple classes copy-swap idiom is not efficient (the creation of a third object on assignment is not needed, which copy-swap does).

* Rework C.83 according to PR comments.
CppCoreGuidelines.md