From 4b1f9ad99c503571298f95303120a96a4e7f5604 Mon Sep 17 00:00:00 2001 From: Thibault Kruse Date: Wed, 30 Sep 2015 20:30:37 +0200 Subject: [PATCH 1/2] fix missing closing parens (in test()) --- CppCoreGuidelines.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 8e4e443..d434dbc 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -11715,6 +11715,7 @@ static nefarious n; // oops, any destructor exception can't be caught ``` void test() { std::array arr; // this line can std::terminate(!) +} ``` The behavior of arrays is undefined in the presence of destructors that throw because there is no reasonable rollback behavior that could ever be devised. Just think: What code can the compiler generate for constructing an `arr` where, if the fourth object's constructor throws, the code has to give up and in its cleanup mode tries to call the destructors of the already-constructed objects... and one or more of those destructors throws? There is no satisfactory answer. From d5295a8d9d425c6ad857c2949407c7d74a39a920 Mon Sep 17 00:00:00 2001 From: Thibault Kruse Date: Wed, 30 Sep 2015 19:19:07 +0200 Subject: [PATCH 2/2] Fix broken and fragile rendering of Bibliography --- CppCoreGuidelines.md | 46 ++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index d434dbc..945ec3e 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -12071,50 +12071,50 @@ Alternatively, we will decide that no change is needed and delete the entry. # Bibliography * - [Alexandrescu01][]: A. Alexandrescu. Modern C++ Design (Addison-Wesley, 2001). + \[Alexandrescu01\]: A. Alexandrescu. Modern C++ Design (Addison-Wesley, 2001). * - [C++03][]: ISO/IEC 14882:2003(E), Programming LanguagesC++ (updated ISO and ANSI C++ Standard including the contents of (C++98) plus errata corrections). + \[C++03\]: ISO/IEC 14882:2003(E), Programming LanguagesC++ (updated ISO and ANSI C++ Standard including the contents of (C++98) plus errata corrections). * - [C++CS][]: + \[C++CS\]: * - [Cargill92][]: T. Cargill. C++ Programming Style (Addison-Wesley, 1992). + \[Cargill92\]: T. Cargill. C++ Programming Style (Addison-Wesley, 1992). * - [Cline99][]: M. Cline, G. Lomow, and M. Girou. C++ FAQs (2ndEdition) (Addison-Wesley, 1999). + \[Cline99\]: M. Cline, G. Lomow, and M. Girou. C++ FAQs (2ndEdition) (Addison-Wesley, 1999). * - [Dewhurst03][]: S. Dewhurst. C++ Gotchas (Addison-Wesley, 2003). + \[Dewhurst03\]: S. Dewhurst. C++ Gotchas (Addison-Wesley, 2003). * - [Henricson97][]: M. Henricson and E. Nyquist. Industrial Strength C++ (Prentice Hall, 1997). + \[Henricson97\]: M. Henricson and E. Nyquist. Industrial Strength C++ (Prentice Hall, 1997). * - [Koenig97][]: A. Koenig and B. Moo. Ruminations on C++ (Addison-Wesley, 1997). + \[Koenig97\]: A. Koenig and B. Moo. Ruminations on C++ (Addison-Wesley, 1997). * - [Lakos96][]: J. Lakos. Large-Scale C++ Software Design (Addison-Wesley, 1996). + \[Lakos96\]: J. Lakos. Large-Scale C++ Software Design (Addison-Wesley, 1996). * - [Meyers96][]: S. Meyers. More Effective C++ (Addison-Wesley, 1996). + \[Meyers96\]: S. Meyers. More Effective C++ (Addison-Wesley, 1996). * - [Meyers97][]: S. Meyers. Effective C++ (2ndEdition) (Addison-Wesley, 1997). + \[Meyers97\]: S. Meyers. Effective C++ (2ndEdition) (Addison-Wesley, 1997). * - [Meyers14][]: S. Meyers. Effective Modern C++ (Addison-Wesley, 2014). + \[Meyers14\]: S. Meyers. Effective Modern C++ (Addison-Wesley, 2014). * - [Murray93][]: R. Murray. C++ Strategies and Tactics (Addison-Wesley, 1993). + \[Murray93\]: R. Murray. C++ Strategies and Tactics (Addison-Wesley, 1993). * - [Stroustrup00][]: B. Stroustrup. The C++ Programming Language (Special 3rdEdition) (Addison-Wesley, 2000). + \[Stroustrup00\]: B. Stroustrup. The C++ Programming Language (Special 3rdEdition) (Addison-Wesley, 2000). * - [Stroustrup05][]: B. Stroustrup. [A rationale for semantically enhanced library languages](http://www.stroustrup.com/SELLrationale.pdf). + \[Stroustrup05\]: B. Stroustrup. [A rationale for semantically enhanced library languages](http://www.stroustrup.com/SELLrationale.pdf). * - [Stroustrup13][]: B. Stroustrup. [The C++ Programming Language (4th Edition)](http://www.stroustrup.com/4th.html). Addison Wesley 2013. + \[Stroustrup13\]: B. Stroustrup. [The C++ Programming Language (4th Edition)](http://www.stroustrup.com/4th.html). Addison Wesley 2013. * - [Stroustrup14][]: B. Stroustrup. [A Tour of C++](http://www.stroustrup.com/Tour.html). + \[Stroustrup14\]: B. Stroustrup. [A Tour of C++](http://www.stroustrup.com/Tour.html). Addison Wesley 2014. * - [SuttHysl04b][]: H. Sutter and J. Hyslop. "Collecting Shared Objects" (C/C++ Users Journal, 22(8), August 2004). + \[SuttHysl04b\]: H. Sutter and J. Hyslop. "Collecting Shared Objects" (C/C++ Users Journal, 22(8), August 2004). * - [SuttAlex05][]: H. Sutter and A. Alexandrescu. C++ Coding Standards. Addison-Wesley 2005. + \[SuttAlex05\]: H. Sutter and A. Alexandrescu. C++ Coding Standards. Addison-Wesley 2005. * - [Sutter00][]: H. Sutter. Exceptional C++ (Addison-Wesley, 2000). + \[Sutter00\]: H. Sutter. Exceptional C++ (Addison-Wesley, 2000). * - [Sutter02][]: H. Sutter. More Exceptional C++ (Addison-Wesley, 2002). + \[Sutter02\]: H. Sutter. More Exceptional C++ (Addison-Wesley, 2002). * - [Sutter04][]: H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004). + \[Sutter04\]: H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004). * - [Taligent94][]: Taligent's Guide to Designing Programs (Addison-Wesley, 1994). + \[Taligent94\]: Taligent's Guide to Designing Programs (Addison-Wesley, 1994).