Item-25 Consider support for a non-throwing swap
· ☕ 7 min read

When std::swap would be inefficient for your type,provide a non-throwing swap member function, a non-member swap calling the member, and possibly a specialized std::swap for the case of classes (not templates).


Item-22 Declare data members private
· ☕ 4 min read

Declaring data members private gives clients syntactically uniform access to data, affords fine-grained access control, allows invariants to be enforced, and offers class authors implementation flexibility.