Π Π°Π·ΠΌΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈ Π·Π°ΠΌΠ΅Π½Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Derived ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Base ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ (ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ) ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΠ±ΠΎΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ p Π½Π° Base ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ p[n] ΠΊΠ°ΠΊ *(p+n*sizeof(Base)), ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° Base, Π° Π½Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊΠ°Ρ Π΅ΡΡΠ½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Derived, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° Base* (ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ), Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡ, Π½Π΅ ΠΌΠΎΡΠ³Π½ΡΠ² Π³Π»Π°Π·ΠΎΠΌ)!
Π’Π°ΠΊΠΈΠ΅ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ β Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΈ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΡ Π‘ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΈΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ½ΠΎΠΌΠΎΡΡΠ½ΡΠΌΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΌΠ°ΡΡΠΈΠ² (Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅ β ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ; ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 77) ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ, ΡΡΠΎ Π΅ΡΠ΅ Π»ΡΡΡΠ΅, ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ shared_ptr; ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 79). Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ±ΡΠ΅ΠΊΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. (ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ.)
ΠΡΡΠ°ΡΠΈ, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡΠ»ΠΊΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Π° Π½Π΅ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π‘ΡΡΠ»ΠΊΠΈ[C++TR104] β’ [Dewhurst03] Β§33, Β§89 β’ [Sutter00] Β§36 β’ [Meyers96] Β§3
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://www.gotw.ca/publications/c++cs/bibliography.htm
Π‘ΡΡΠ»ΠΊΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, [Abrahams96]), ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π³ΠΈΠΏΠ΅ΡΡΡΡΠ»ΠΊΠΈ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅.
[Abelson96] Abelson H. and Sussman G. J. Structure and Interpretation of Computer Programs (2nd Edition) (MIT Press, 1996).
[Abrahams96] Abrahams D. Exception Safety in STLport. STLport website, 1996.
[Abrahams01a] Abrahams D. Exception Safety in Generic Components, in Jazayeri M., Loos R., Musser D. (eds.), Generic Programming: International Seminar on Generic Programming, Dagstuhl Castle, Germany, April/May 1998, Selected Papers. Lecture Notes in Computer Science 1766 (Springer, 2001).
[Abrahams01b] Abrahams D. Error and Exception Handling. [Boost] website, 2001.
[Alexandrescu00a] Alexandrescu A. Traits: The else-if-then of Types. Π‘++ Report, 12(4), April 2000.
[Alexandrescu00b] Alexandrescu A. Traits on Steroids. Π‘++ Report, 12(6), June 2000.
[Alexandrescu00c] Alexandrescu A. and Marginean P. Change the Way You Write Exception-Safe Code β Forever. C/C++ Users Journal, 18(12), December 2000.
[Alexandrescu01] Alexandrescu A. Modern Π‘++ Design. Addison-Wesley, 2001.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠ΅ΡΠΊΡ Π. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++. Π‘Π΅ΡΠΈΡ Π‘++ In-Depth, Ρ.3. β Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ "ΠΠΈΠ»ΡΡΠΌΡ", 2002.
[Alexandrescu01a] Alexandrescu A. A Policy-Based basic_string Implementation. C/C++ Users Journal, 19(6), June 2001.
[Alexandrescu02a] Alexandrescu A. Multithreading and the Π‘++ Type System. InformIT website, February 2002.
[Alexandrescu02b] Alexandrescu A. "Discriminated Unions (I)," "... (II)," and "... (III)". C/C++ Users Journal, 20(4,6,8), April/June/August 2002.
[Alexandrescu03a] Alexandrescu A. Move Constructors. C/C++ Users Journal, 21(2), February 2003.
[Alexandrescu03b] Alexandrescu A. Assertions. C/C++ Users Journal, 21(4), April 2003.
[Alexandrescu03c] Alexandrescu A. and Marginean P. Enforcements. C/C++ Users Journal, 21(6), June 2003.
[Alexandrescu03d] Alexandrescu A. and Held D. Smart Pointers Reloaded. C/C++ Users Journal, 21(10), October 2003.
[Alexandrescu04] Alexandrescu A. Lock-Free Data Structures. C/C++ Users Journal, 22(10), October 2004.
[Allison98] Allison Π‘. Π‘ & Π‘++ Code Capsules. Prentice Hall, 1998.
[Austern99] Austern M. H. Generic Programming and the STL. Addison-Wesley, 1999.
[Barton94] Barton J. and Nackman L. Scientific and Engineering Π‘++. Addison-Wesley, 1994.
[Bentley00] Bentley J. Programming Pearls (2nd Edition). Addison-Wesley, 2000.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ΅Π½ΡΠ»ΠΈ ΠΠΆ. ΠΠ΅ΠΌΡΡΠΆΠΈΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΡΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. β Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2002.
[BetterSCM] Web-ΡΠ·Π΅Π» Better SCM Initiative.
[Boost] Π‘++ Boost.
[BoostLRG] Boost Library Requirements and Guidelines. (Web-ΡΠ·Π΅Π» Boost).
[Brooks95] Brooks F. The Mythical Man-Month. Addison-Wesley, 1975; reprinted with corrections in 1995.
[Butenhof97] Butenhof D. Programming with POSIX Threads. Addison-Wesley, 1997.
[Cargill92] Cargill T. Π‘++ Programming Style. Addison-Wesley, 1992.
[C90] ISO/IEC 9899:1990(E), Programming Languages β C (ISO C90 and ANSI C89 Standard).
[C99] ISO/IEC 9899:1999(E), Programming Languages β C (revised ISO and ANSI C99 Standard).
[C++98] ISO/IEC 14882:1998(E), Programming Languages β Π‘++ (ISO and ANSI Π‘++ Standard).
[C++03] ISO/IEC 14882:2003(E), Programming Languages β Π‘++ (updated ISO and ANSI Π‘++ Standard including the contents of [C++98] plus errata corrections).
[C++TR104] ISO/IEC JTC1/SC22/WG21/N1711. (Draft) Technical Report on Standard Library Extensions (ISO Π‘++ committee working document, November 2004). ΠΠ»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π‘++, Π²ΠΊΠ»ΡΡΠ°Ρ shared_ptr.
[Cline99] Cline Π., Lomow G., and Girou M. Π‘++ FAQs (2nd Edition). Addison-Wesley, 1999.
[Constantine95] Constantine L. Constantine on Peopleware. Yourdon Press, 1995.
[Coplien92] Coplien J. Advanced Π‘++ Programming Styles and Idioms. Addison-Wesley, 1992.
[Cormen01] Cormen T., Leiserson C., Rivest R., Stein C. Introduction to Algorithms (2nd Edition). MIT Press, 2001.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠΎΡΠΌΠ΅Π½ T., ΠΠ΅ΠΉΠ·Π΅ΡΡΠΎΠ½ Π§., Π ΠΈΠ²Π΅ΡΡ Π ., Π‘ΡΠ΅ΠΉΠ½ Π. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. 2-Π΅ ΠΈΠ·Π΄. β Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ "ΠΠΈΠ»ΡΡΠΌΡ" (Π² ΠΏΠ΅ΡΠ°ΡΠΈ)
[CVS] Web-ΡΠ·Π΅Π» CVS.
[Cowan01] Cowan Π‘., Barringer Π., Beattie S., and Kroah-Hartman G. FormatGuard: Automatic Protection From printf Format String Vulnerabilities. Proceedings of the 2001 USENIX Security Symposium, August 2001, Washington, D.C.
[Dewhurst03] Dewhurst S. Π‘++ Gotchas. Addison-Wesley, 2003.
[Dinkumware-Safe] Dinkumware Unabridged Library documentation (Web-ΡΠ·Π΅Π» Dinkumware).
[Ellis90] Ellis M. and Stroustrup B. The Annotated Π‘++ Reference Manual. Addison-Wesley, 1990.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ»Π»ΠΈΡ M., Π‘ΡΡΠ°ΡΡΡΡΡΠΏ Π. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠ·ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ. β Π.: ΠΠΈΡ, 1992.
[Gamma95] Gamma E., Helm R., Johnson R., and Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ°ΠΌΠΌΠ° Π., Π₯Π΅Π»ΠΌ Π ., ΠΠΆΠΎΠ½ΡΠΎΠ½ Π ., ΠΠ»ΠΈΡΡΠΈΠ΄Π΅Ρ ΠΠΆ. ΠΡΠΈΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. β Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2001.
[GnuMake] Gnu make (Web-ΡΠ·Π΅Π» Gnu).
[GotW] Sutter H. Guru of the Week column.
[Henney00] Henney K. Π‘++ Patterns: Executing Around Sequences (EuroPLoP 2000 proceedings).
[Henney01] Henney K. Π‘++ Patterns: Reference Accounting (EuroPLoP 2001 proceedings).
[Henney02a] Henney K. Stringing Things Along. Application Development Advisor, July-August 2002.
[Henney02b] Henney K. The Next Best String. Application Development Advisor, October 2002.
[Henricson97] Henricson M. and Nyquist E. Industrial Strength Π‘++. Prentice Hall, 1997.
[Horstmann95] Horstmann C. S. Safe STL., 1995.
[Josuttis99] Josuttis N. The Π‘++ Standard Library. Addison-Wesley, 1999.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠΆΠΎΡΡΡΡΠΈΡ Π. Π‘++. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. β Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ (Π² ΠΏΠ΅ΡΠ°ΡΠΈ).
[Keffer95] Keffer T. Rogue Wave Π‘++ Design, Implementation, and Style Guide. Rogue Wave Software, 1995.
[Kernighan99] Kernighan B. and Pike R. The Practice of Programming. Addison-Wesley, 1999.
[Knuth89] Knuth D. The Errors of TeX. Software β Practice & Experience, 19(7), July 1989.
[Knuth97a] Knuth D. The Art of Computer Programming, Volume I: Fundamental Algorithms, 3rd Edition. Addison-Wesley, 1997.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ½ΡΡ Π. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΌ 1. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, 3-Π΅ ΠΈΠ·Π΄. β Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ "ΠΠΈΠ»ΡΡΠΌΡ", 2000.
[Knuth97b] Knuth D. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd Edition. Addison-Wesley, 1997.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ½ΡΡ Π. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΌ 2. ΠΠΎΠ»ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, 3-Π΅ ΠΈΠ·Π΄. β Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ "ΠΠΈΠ»ΡΡΠΌΡ", 2000.
[Knuth98] Knuth D. The Art of Computer Programming, Volume 3: Sorting and Searching, 2nd Edition. Addison-Wesley, 1998.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ½ΡΡ Π. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΌ 3. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ, 2-Π΅ ΠΈΠ·Π΄. β Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ "ΠΠΈΠ»ΡΡΠΌΡ", 2000.
[Koenig97] Koenig A. and Moo Π. Ruminations on Π‘++. Addison-Wesley, 1997.
[Lakos96] Lakos J. Large-Scale Π‘++ Software Design. Addison-Wesley, 1996.
[Liskov88] Liskov B. Data Abstraction and Hierarchy. SIGPLAN Notices, 23(5), May 1988.
[Martin96a] Martin R. C. The Dependency Inversion Principle. Π‘++ Report, 8(5), May 1996.
[Martin96b] Martin R. C. Granularity. Π‘++ Report, 8(9), October 1996.
[Martin96c] Martin R. C. The Open-Closed Principle. Π‘++ Report, 8(1), January 1996.
[Martin98] Martin R. C., Riehle D., Buschmann F. (eds.). Pattern Languages of Program Design 3. Addison-Wesley, 1998.
[Martin00] Martin R. C. Abstract Classes and Pure Virtual Functions in Martin R. C. (ed.), More Π‘++ Gems. Cambridge University Press, 2000.
[McConnell93] McConnell S. Code Complete. Microsoft Press, 1993.
[Metrowerks] Metrowerks.
[Meyer00] Meyer B. Object-Oriented Software Construction, 2nd Edition. Prentice Hall, 2000.
[Meyers96] Meyers S. More Effective Π‘++. Addison-Wesley, 1996.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ΅ΠΉΠ΅ΡΡ Π‘. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘++. 35 Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². β Π.: ΠΠΠ ΠΡΠ΅ΡΡ, 2000.
[Meyers97] Meyers S. Effective Π‘++, 2nd Edition. Addison-Wesley, 1997.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠ΅ΠΉΠ΅ΡΡ Π‘. ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘++. 50 ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². β Π.: ΠΠΠ ΠΡΠ΅ΡΡ, 2000.