FAQ 30.14 Are there any other circumstances that might explicitly warrant the Big Three?

Yes, when the Big Three need to be non-inline.

When the compiler synthesizes the Big Three, it makes them inline. If the application's classes are exposed to customers (for example, if customers #include the application's header files rather than merely using an executable), the application's inline code is copied into their executables. If you want to maintain binary compatibility between releases of your library, you must not change any visible inline functions, including the versions of the Big Three that are synthesized by the compiler. Therefore, explicit, non-inline versions of the Big Three should be used.



C++ FAQs
C Programming FAQs: Frequently Asked Questions
ISBN: 0201845199
EAN: 2147483647
Year: 2005
Pages: 566
Authors: Steve Summit

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net