Merge pull request #240 from tkruse/fix-mdstyle13

Simple rendering of bibliography, and minor fix
This commit is contained in:
Gabriel Dos Reis 2015-09-30 11:47:18 -07:00
commit 0a2523372e

View File

@ -11715,6 +11715,7 @@ static nefarious n; // oops, any destructor exception can't be caught
``` ```
void test() { void test() {
std::array<nefarious, 10> arr; // this line can std::terminate(!) std::array<nefarious, 10> 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. 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.
@ -12070,50 +12071,50 @@ Alternatively, we will decide that no change is needed and delete the entry.
# Bibliography # Bibliography
* <a name="Alexandrescu01"></a> * <a name="Alexandrescu01"></a>
[Alexandrescu01][]: A. Alexandrescu. Modern C++ Design (Addison-Wesley, 2001). \[Alexandrescu01\]: A. Alexandrescu. Modern C++ Design (Addison-Wesley, 2001).
* <a name="C++03"></a> * <a name="C++03"></a>
[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).
* <a name="C++CS"></a> * <a name="C++CS"></a>
[C++CS][]: \[C++CS\]:
* <a name="Cargill92"></a> * <a name="Cargill92"></a>
[Cargill92][]: T. Cargill. C++ Programming Style (Addison-Wesley, 1992). \[Cargill92\]: T. Cargill. C++ Programming Style (Addison-Wesley, 1992).
* <a name="Cline99"></a> * <a name="Cline99"></a>
[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).
* <a name="Dewhurst03"></a> * <a name="Dewhurst03"></a>
[Dewhurst03][]: S. Dewhurst. C++ Gotchas (Addison-Wesley, 2003). \[Dewhurst03\]: S. Dewhurst. C++ Gotchas (Addison-Wesley, 2003).
* <a name="Henricson97"></a> * <a name="Henricson97"></a>
[Henricson97][]: M. Henricson and E. Nyquist. Industrial Strength C++ (Prentice Hall, 1997). \[Henricson97\]: M. Henricson and E. Nyquist. Industrial Strength C++ (Prentice Hall, 1997).
* <a name="Koenig97"></a> * <a name="Koenig97"></a>
[Koenig97][]: A. Koenig and B. Moo. Ruminations on C++ (Addison-Wesley, 1997). \[Koenig97\]: A. Koenig and B. Moo. Ruminations on C++ (Addison-Wesley, 1997).
* <a name="Lakos96"></a> * <a name="Lakos96"></a>
[Lakos96][]: J. Lakos. Large-Scale C++ Software Design (Addison-Wesley, 1996). \[Lakos96\]: J. Lakos. Large-Scale C++ Software Design (Addison-Wesley, 1996).
* <a name="Meyers96"></a> * <a name="Meyers96"></a>
[Meyers96][]: S. Meyers. More Effective C++ (Addison-Wesley, 1996). \[Meyers96\]: S. Meyers. More Effective C++ (Addison-Wesley, 1996).
* <a name="Meyers97"></a> * <a name="Meyers97"></a>
[Meyers97][]: S. Meyers. Effective C++ (2ndEdition) (Addison-Wesley, 1997). \[Meyers97\]: S. Meyers. Effective C++ (2ndEdition) (Addison-Wesley, 1997).
* <a name="Meyers97"></a> * <a name="Meyers97"></a>
[Meyers14][]: S. Meyers. Effective Modern C++ (Addison-Wesley, 2014). \[Meyers14\]: S. Meyers. Effective Modern C++ (Addison-Wesley, 2014).
* <a name="Murray93"></a> * <a name="Murray93"></a>
[Murray93][]: R. Murray. C++ Strategies and Tactics (Addison-Wesley, 1993). \[Murray93\]: R. Murray. C++ Strategies and Tactics (Addison-Wesley, 1993).
* <a name="Stroustrup00"></a> * <a name="Stroustrup00"></a>
[Stroustrup00][]: B. Stroustrup. The C++ Programming Language (Special 3rdEdition) (Addison-Wesley, 2000). \[Stroustrup00\]: B. Stroustrup. The C++ Programming Language (Special 3rdEdition) (Addison-Wesley, 2000).
* <a name="Stroustrup05"></a> * <a name="Stroustrup05"></a>
[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).
* <a name="Stroustrup13"></a> * <a name="Stroustrup13"></a>
[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.
* <a name="Stroustrup14"></a> * <a name="Stroustrup14"></a>
[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. Addison Wesley 2014.
* <a name="SuttHysl04b"></a> * <a name="SuttHysl04b"></a>
[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).
* <a name="SuttAlex05"></a> * <a name="SuttAlex05"></a>
[SuttAlex05][]: H. Sutter and A. Alexandrescu. C++ Coding Standards. Addison-Wesley 2005. \[SuttAlex05\]: H. Sutter and A. Alexandrescu. C++ Coding Standards. Addison-Wesley 2005.
* <a name="Sutter00"></a> * <a name="Sutter00"></a>
[Sutter00][]: H. Sutter. Exceptional C++ (Addison-Wesley, 2000). \[Sutter00\]: H. Sutter. Exceptional C++ (Addison-Wesley, 2000).
* <a name="Sutter02"></a> * <a name="Sutter02"></a>
[Sutter02][]: H. Sutter. More Exceptional C++ (Addison-Wesley, 2002). \[Sutter02\]: H. Sutter. More Exceptional C++ (Addison-Wesley, 2002).
* <a name="Sutter04"></a> * <a name="Sutter04"></a>
[Sutter04][]: H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004). \[Sutter04\]: H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004).
* <a name="Taligent94"></a> * <a name="Taligent94"></a>
[Taligent94][]: Taligent's Guide to Designing Programs (Addison-Wesley, 1994). \[Taligent94\]: Taligent's Guide to Designing Programs (Addison-Wesley, 1994).