Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added More Exceptional C++ by Herb Sutter.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="73146d6c4a1bbcce-a08a322c-43da43bb-a9df8a85-bca4b33542102c9606b012d0"><ac:parameter ac:name="">Becker 08</ac:parameter></ac:structured-macro>\[Becker 08\] Becker, Pete. [Working Draft, Standard for Programming Language C+\+|http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2521.pdf], April 2008.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="3b427ba0c6a68923-46c821ad-4f674c78-b0f8b147-2f0a75e0c2f246b3fc30721d"><ac:parameter ac:name="">Becker 09</ac:parameter></ac:structured-macro>\[Becker 09\] Becker, Pete [Working Draft, Standard for Programming Language C+\+|http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n3000.pdf], September 2009.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="543613f7c1d3542a-8509d1ca-4c164438-b8dca3c0-5c6b229fad8b6d8eb1222f6f"><ac:parameter ac:name="">Cline 09</ac:parameter></ac:structured-macro>\[Cline 09\] Cline, Marshall. [C+\+ FAQ Lite - Frequently Asked Questions|http://www.parashift.com/c++-faq-lite/index.html] 1991-2009

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="e54c1a4c4a88a56c-8cf6c435-413346e0-ba96a40c-2982df59641df393b9b56a1a"><ac:parameter ac:name="">cwe</ac:parameter></ac:structured-macro> \[CWE\] MITRE. [Common Weakness Enumeration|http://cwe.mitre.org/] -- A Community-Developed Dictionary of Software Weakness Types.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="d07181fd5855e79e-5edf010e-44cc4a2e-b3ba8398-a8aa2b1931c3e34fd0aeba80"><ac:parameter ac:name="">Dewhurst 03</ac:parameter></ac:structured-macro>\[Dewhurst 03\] Dewhurst, Stephen C. _C+\+ Gotchas: Avoiding Common Problems in Coding and Design_. Boston, MA: Addison-Wesley Professional, 2002.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="e568968da11a3e7c-2597d843-40264333-8076bbe0-9adaa6af862bee5ef49daa66"><ac:parameter ac:name="">Dewhurst 05</ac:parameter></ac:structured-macro>\[Dewhurst 05\] Dewhurst, Stephen C. _C+\+ Common Knowledge:  Essential Intermediate Programming_. Boston, MA: Addison-Wesley Professional, 2005.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="72bd56d63ebf5d81-021d07c3-4e2846ac-a0219902-a6f43c069de8bf7221d5347c"><ac:parameter ac:name="">Dowd 07</ac:parameter></ac:structured-macro>\[Dowd 07\] Dowd, McDonald & Schuh. [The Art of Software Security Assessment - Attacking delete and delete\[\] in C+\+|http://taossa.com/index.php/2007/01/03/attacking-delete-and-delete-in-c]. (2007)

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="16a5773ec88e4cb9-ebecb479-40f546ac-83c2bd62-1b12330f7a1350feec549223"><ac:parameter ac:name="">FSF 05</ac:parameter></ac:structured-macro>\[FSF 05\] Free Software Foundation. [GCC online documentation.|http://gcc.gnu.org/onlinedocs] (2005).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="c864caea7f0c1421-431ea0c7-41094f8b-a1f2b4d6-081bb5a84ee7792b4f2a59be"><ac:parameter ac:name="">Gamma 95</ac:parameter></ac:structured-macro>\[Gamma 95\] Gamma, Helm, Vlissides, and Johnson. Design Patterns Elements of Reusable Object Oriented Software. Addison Wesley, 1995.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="170ee04e10f64216-f0ac1898-44894dad-b4368044-70cb1b7fd76992d301ab5a98"><ac:parameter ac:name="">Goldberg 91</ac:parameter></ac:structured-macro>\[Goldberg 91\] Goldberg, David. [What Every Computer Scientist Should Know About Floating-Point Arithmetic|http://docs.sun.com/source/806-3568/ncg_goldberg.html]. Sun Microsystems, March 1991.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="fb475ec8ace02c3f-2a865eff-43aa4419-a236900b-b87936d76fc3aa09c57a2bcf"><ac:parameter ac:name="">Henricson 97</ac:parameter></ac:structured-macro>\[Henricson 97\] Henricson, Mats & Nyquist, Erik. [_Industrial Strength C+\+_|http://www.sannabremo.se/nyquist/industrial/]. Upper Saddle River, NJ: Prentice Hall PTR, 1997 (ISBN 0-13-120965-5).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="595f35d9a0531480-43adf38b-49734d6e-b490b3a0-acc0125f05b8b9f57fea505f"><ac:parameter ac:name="">IEC 60812 2006</ac:parameter></ac:structured-macro>\[IEC 60812 2006\] Analysis techniques for system reliability - Procedure for failure mode and effects analysis (FMEA), 2nd ed. (IEC 60812). IEC, January 2006.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="7be89216acf6654f-b41b2149-45cb4b48-9bc19af7-7ae6dde4c3a407d90891b9b9"><ac:parameter ac:name="">ISO/IEC 9899-1999</ac:parameter></ac:structured-macro>\[ISO/IEC 9899-1999\] ISO/IEC 9899-1999. _Programming Languages --- C, Second Edition_, 1999.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="43c4942b6c93acb0-a3174d6a-48fa474b-81668994-554644279458856798591566"><ac:parameter ac:name="">ISO/IEC 14882-1998</ac:parameter></ac:structured-macro>\[ISO/IEC 14882-1998\] ISO/IEC 14882-1998. _Programming Languages --- C++, First Edition_, 1998.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="c19f23c0b8677fc9-071f850e-41eb4655-9b1591d2-0ab7e0cbab32f09554492231"><ac:parameter ac:name="">ISO/IEC 14882-2003</ac:parameter></ac:structured-macro>\[ISO/IEC 14882-2003\] ISO/IEC 14882-2003. _Programming Languages --- C++, Second Edition_, 2003.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="39628a1090d1cdc9-d40a0021-41194ad9-9e508878-ab893ddb67d89c9fb4d53121"><ac:parameter ac:name="">Lions 96</ac:parameter></ac:structured-macro>\[Lions 96\] Lions, J. L. [ARIANE 5 Flight 501 Failure Report|http://en.wikisource.org/wiki/Ariane_501_Inquiry_Board_report]. Paris, France: European Space Agency (ESA) & National Center for Space Study (CNES) Inquiry Board, July 1996.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="923e58cccf000c49-2091e280-48364982-ba95868b-60e48d388697304d35a81b84"><ac:parameter ac:name="">Lockheed Martin 05</ac:parameter></ac:structured-macro>\[Lockheed Martin 05\] Lockheed Martin. "[Joint Strike Fighter Air Vehicle C+\+ Coding Standards for the System Development and Demonstration Program.|http://www.research.att.com/~bs/JSF-AV-rules.pdf]" Document Number 2RDU00001 Rev C., December 2005.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="842fdd251dc751d5-680f834a-4e2046f2-8e858e3a-44bded01378d5dc6e833bade"><ac:parameter ac:name="">Meyers 95</ac:parameter></ac:structured-macro>\[Meyers 95\] Meyers, Scott. _More Effective C++: 35 New Ways to Improve Your Programs and Designs_. Boston, MA: Addison-Wesley Professional, 1995.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="c82ae962bcbae88d-a5605825-4e414810-9688b7a5-1ef281683a26c348729dfdc2"><ac:parameter ac:name="">Meyers 96</ac:parameter></ac:structured-macro>\[Meyers 96\] Meyers, Scott. _More Effective C++: 35 New Ways to Improve Your Programs and Designs_. Boston, MA: Addison-Wesley, 1996.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="fcc647ef70aed838-5133448c-430e4fbc-8a598c0b-59a14c77babdb5c6abce9bbe"><ac:parameter ac:name="">Meyers 97</ac:parameter></ac:structured-macro>\[Meyers 97\] Meyers, Scott. _Effective C+\+ : 55 Specific Ways to Improve Your Programs and Designs_, 3rd ed.  Boston, MA: Addison-Wesley Professional, 1997.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="391c1c7a5de46a66-c33714e9-4442470e-995a80da-004391c39a954717bf513d3b"><ac:parameter ac:name="">Meyers 01</ac:parameter></ac:structured-macro>\[Meyers 01\] Meyers, Scott. _Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library_. Boston, MA: Addison-Wesley Professional, 2001.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="2c3eadbd62a52c01-bb1f73fc-442f444b-adcd898f-cb45327024f21dc4d5c27adf"><ac:parameter ac:name="">Meyers 05</ac:parameter></ac:structured-macro>\[Meyers 05\] Meyers, Scott. _Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)_. Boston, MA: Addison-Wesley Professional, 2005.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="5fdf8095efe264e0-c3ad1935-45054232-b46cbdf6-4ff4e41698df6f4ece3355d0"><ac:parameter ac:name="">MISRA 04</ac:parameter></ac:structured-macro>\[MISRA 04\] MIRA Limited. "[MISRA C|http://www.misra.org.uk/]: 2004 Guidelines for the Use of the C Language in Critical Systems." Warwickshire, UK: MIRA Limited, October 2004 (ISBN 095241564X).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="6b72c955db528301-09dab4b0-499e4a6d-9dc8b91f-ec4e6157155d52556cae6a63"><ac:parameter ac:name="">MISRA 08</ac:parameter></ac:structured-macro>\[MISRA 08\] MIRA Limited. "[MISRA C+\+|http://www.misra.org.uk/]: 2008 "Guidelines for the Use of the C+\+ Language in Critical Systems", ISBN 978-906400-03-3 (paperback), ISBN 978-906400-04-0 (PDF), June 2008.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="ed0124b94de87c82-3513b1c3-4b8e4b2d-a2ddb753-d05afd3b510ee5c4316b2018"><ac:parameter ac:name="">NIST 06</ac:parameter></ac:structured-macro>\[NIST 06\] NIST. [_SAMATE Reference Dataset_|http://samate.nist.gov/SRD/] (2006).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="4aefc5a0e7d9e2fc-934b225c-45c34e5e-84bd91ec-7b64a55389c9011a1909b4bb"><ac:parameter ac:name="">POSIX.1-2008</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="5db30587a07cc513-783a71f4-444243f6-8cafb395-d57acabe634d5628f34c5564"><ac:parameter ac:name="">IEEE Std 1003.1-2008</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b8a640c3bdc3193f-f7a69f8b-49ea4690-976290bf-62d960bda99c3f81948edc20"><ac:parameter ac:name="">ISO/IEC 9945:2008</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="8d420706d6e73f37-10839204-43254b1f-a71498b1-4c5bc9004de1c6d4a62bd6d5"><ac:parameter ac:name="">Open Group 08</ac:parameter></ac:structured-macro>\[Open Group 08\] The Open Group. "[_The Open Group Base Specifications Issue 7, IEEE Std 1003.1, 2008 Edition_|http://www.opengroup.org/onlinepubs/9699919799/toc.htm]." (2008).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="edf8d83858060e0c-72ac50e7-4dd24dda-8b60a72e-510d2b2a4f7e518f4027c9b7"><ac:parameter ac:name="">POSIX.1-2004</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="4fee79d26e55f8db-fedf6dbd-40644ba5-96c591d3-2239fe7c5e2e94cedc9b9d41"><ac:parameter ac:name="">IEEE Std 1003.1-2004</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="42ac90f1366b8c0e-b490ef90-46e44880-939cbb45-dbae1b275c15afa619d6900f"><ac:parameter ac:name="">ISO/IEC 9945:2003</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b6af3b6ebdeae617-f3171257-4e8543ca-b90ca3fa-213c3848dd363ffd69c2d3d2"><ac:parameter ac:name="">Open Group 04</ac:parameter></ac:structured-macro>\[Open Group 04\] The Open Group. "[_The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition_|http://www.opengroup.org/onlinepubs/009695399/toc.htm]." (2004).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b2f66cda2e70f819-6a6e95ad-4ffe4d77-bfceb6f3-fc2a3a0405dfe9802094ace9"><ac:parameter ac:name="">Plum 91</ac:parameter></ac:structured-macro>\[Plum 91\] Plum, Thomas. _C+\+ Programming_. Kamuela, HI: Plum Hall, Inc., November 1991 (ISBN 0911537104).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="e4a2ea5ba21b95d5-3805c314-4bff4067-b865b29a-17bbdc593fe546dd83b8ab7f"><ac:parameter ac:name="">Quinlan 06</ac:parameter></ac:structured-macro>\[Quinlan 06\] Quinlan, Dan; Vuduc, Richard; Panas, Thomas; Härdtlein, Jochen; & Sæbjørnsen, Andreas. "Support for Whole-Program Analysis and the Verification of the One-Definition Rule in C++," 27-35. [NIST Special Publication 500-262|http://samate.nist.gov/docs/NIST_Special_Publication_500-262.pdf], _Proceedings of the Static Analysis Summit_. Gaithersburg, MD, July 2006.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="3340a94a15f93b7c-0e5383bb-4043423d-a1079d81-41934deef85b3c2fc3cdd62e"><ac:parameter ac:name="">Saks 99</ac:parameter></ac:structured-macro>\[Saks 99\] Dan Saks. _const T vs.T const_. Embedded Systems Programming. Pg. 13-16. February 1999. [http://www.dansaks.com/articles/1999-02%20const%20T%20vs%20T%20const.pdf]

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="1f3d06755fab16cd-d8e76656-44bf4730-897fa71d-36d18d0ffb43a6f3b046a46a"><ac:parameter ac:name="">Saks 07</ac:parameter></ac:structured-macro>\[Saks 07\] Saks, Dan. "[Sequence Points|http://www.embedded.com/columns/programmingpointers/9900661?_requestid=481957]" Embedded Systems Design, 07/01/02.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="ecccf6e4be7c7d43-a47aa9b4-4fd2450e-801dac0f-dfaaaa67fa465a67dd8bddf3"><ac:parameter ac:name="">Seacord 05</ac:parameter></ac:structured-macro>\[Seacord 05\] Seacord, R. _Secure Coding in C and C+\+_. Upper Saddle River, NJ: Addison-Wesley, 2006 (ISBN 0321335724).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="cb0de2ce2c394c2b-292d5506-459b4c5a-a45e9d8e-ed8acb4cff97a3a113abd881"><ac:parameter ac:name="">SGI 06</ac:parameter></ac:structured-macro>\[SGI 06\] Silicon Graphics, Inc. "[basic_string<charT, traits, Alloc>|http://www.sgi.com/tech/stl/basic_string.html]." _Standard Template Library Programmer's Guide_, 2006.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="2d721077beeed446-c17d8a28-4b294f90-8112b349-3f3fc48ffb86590e4861a092"><ac:parameter ac:name="">Steele 77</ac:parameter></ac:structured-macro>\[Steele 77\]  Steele, G. L. 1977. [Arithmetic shifting considered harmful.|http://doi.acm.org/10.1145/956641.956647] _SIGPLAN Not._ 12, 11 (Nov. 1977), 61-69.

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="d6e3e50cf654ae46-a1fe8df2-48394c33-a220b4f5-e7e0b8cf44b045180fe887f0"><ac:parameter ac:name="">Stroustrup 97</ac:parameter></ac:structured-macro>\[Stroustrup 97\] Stroustrup, Bjarne. _The C+\+ Programming Language, Third Edition_. Reading, MA: Addison-Wesley, 1997 (ISBN 0201889544).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="7bc706e4eb604718-8910c89a-4f6d4dbf-9c3da3e8-2d1d08378f4c698b3174956e"><ac:parameter ac:name="">Stroustrup 06</ac:parameter></ac:structured-macro>\[Stroustrup 06\] Stroustrup, Bjarne. [_C+\+ Style and Technique FAQ_|http://public.research.att.com/~bs/bs_faq2.html] (2006).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="eed16a3953efeb6a-bce68b02-43354e26-ba23a606-f5e0d77225f08629518a63c8"><ac:parameter ac:name="">Stroustrup 01</ac:parameter></ac:structured-macro>\[Stroustrup 01\] Stroustrup, Bjarne. [Exception Safety: Concepts and Techniques|http://www.research.att.com/~bs/except.pdf] (2001).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="e1cab26d821cd143-fe5c94b4-45124779-ae6e87e6-b3e2be79597acd5ee0eb1081"><ac:parameter ac:name="">Sutter 00</ac:parameter></ac:structured-macro>\[Sutter 00\] Sutter, Herb. _Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions_. Addison-Wesley Professional, 2000 (ISBN 0201615622).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="ca35dd7e74065d9e-a9425f9c-4a484417-b891993c-af0c856bfab157f1c40319b9"><ac:parameter ac:name="">Sutter 04<01</ac:parameter></ac:structured-macro>\[Sutter 0401\] Sutter, Herb. &_More Alexandrescu, Andrei. _Exceptional C+\+: 40 New Engineering Puzzles, Programming Problems, and Solutions_. Addison-Wesley Professional, 2001 (ISBN 020170434).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="d7134254-2883-4e51-a31c-09895b29c93a"><ac:parameter ac:name="">Sutter 04</ac:parameter></ac:structured-macro>\[Sutter 04\] Sutter, Herb & Alexandrescu, Andrei. _C+\+ Coding Standards: 101 Rules, Guidelines, and Best Practices_. Boston, MA: Addison-Wesley Professional, 2004 (ISBN 0321113586).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f24bd8ea78b2a440-d83db086-46164632-a551b815-e771757bab11058bde33378f"><ac:parameter ac:name="">Viega 03</ac:parameter></ac:structured-macro>\[Viega 03\] Viega, John & Messier, Matt. _Secure Programming Cookbook for C and C++: Recipes for Cryptography, Authentication, Networking, Input Validation & More_. Sebastopol, CA: O'Reilly, 2003 (ISBN 0-596-00394-3).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="97e81b84457ccaae-3f70fde7-4d4e4f46-adf7a59c-e36144f8e599c41ac1a18419"><ac:parameter ac:name="">Warren 02</ac:parameter></ac:structured-macro>\[Warren 02\] Warren, Henry S. _Hacker's Delight_. Boston, MA: Addison Wesley Professional. 2002 (ISBN 0201914654).

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="022c14d3fd473a9c-adf54225-471448c9-83e88afb-e17fffcad6aac574d6dfebaa"><ac:parameter ac:name=""> xorl 2009</ac:parameter></ac:structured-macro>\[xorl 2009\] xorl. [xorl %eax, %eax|http://xorl.wordpress.com/].