⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contents.htm

📁 This is the second part of that lab manual to teach you how to make real-time programme and how to d
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<!--
This document was converted from RTF source: 
By rtftohtml 4.19
See http://www.sunpack.com/RTF
Filename:C:\TEMP\TicV2\html\TicV2.rtf
Application Directory:C:\TOOLS\RTF2HTML\
Subject:
Author:Bruce Eckel
Operator:Bruce Eckel
Document Comments:
Version Comments:
Comments:
Keywords:
Translation Date:09/26/2001
Translation Time:08:32:17
Translation Platform:Win32
Number of Output files:19
This File:C:\TEMP\TicV2\html\Contents.htm
SplitDepth=1
SkipNavPanel=1
SkipLeadingToc=1
SkipTrailingToc=1
GenContents=1
GenFrames=1
GenIndex=1
-->
<HEAD lang="en"><META http-equiv="Content-Type" content="text/html">
<TITLE>Thinking in C++, 2nd ed. Volume 2 Revision 4.0 - Contents</TITLE>
</HEAD>

<BODY  BGCOLOR="#FFFFFF"><H1>Thinking in C++, 2nd ed. Volume 2 Revision 4.0 - Contents </H1></FONT>
<H2><A HREF="FrontMtr.htm">Thinking in C++, 2nd ed. Volume 2 Revision 4.0 - Title Page </A></H2></FONT>
<UL>
<A HREF="Preface.htm">Preface</A><BR>
<UL>
<A HREF="Preface.htm#Heading2">What&#8217;s new in the second edition</A><BR>
<UL>
<A HREF="Preface.htm#Heading3">What&#8217;s in Volume 2 of this book</A><BR>
<A HREF="Preface.htm#Heading4">How to get Volume 2</A><BR>
</UL>
<A HREF="Preface.htm#Heading5">Prerequisites</A><BR>
<A HREF="Preface.htm#Heading6">Learning C++</A><BR>
<A HREF="Preface.htm#Heading7">Goals</A><BR>
<A HREF="Preface.htm#Heading8">Chapters</A><BR>
<A HREF="Preface.htm#Heading9">Exercises</A><BR>
<UL>
<A HREF="Preface.htm#Heading10">Exercise solutions</A><BR>
</UL>
<A HREF="Preface.htm#Heading11">Source code</A><BR>
<A HREF="Preface.htm#Heading12">Language standards</A><BR>
<UL>
<A HREF="Preface.htm#Heading13">Language support</A><BR>
</UL>
<A HREF="Preface.htm#Heading14">Seminars, CD Roms &amp; consulting</A><BR>
<A HREF="Preface.htm#Heading15">Errors</A><BR>
<A HREF="Preface.htm#Heading16">Acknowledgements</A><BR>
</UL>
<A HREF="Part1.htm">Part 1: Building Stable Systems</A><BR>
<A HREF="Chap01.htm">1: Exception handling</A><BR>
<UL>
<A HREF="Chap01.htm#Heading19">Error handling in C</A><BR>
<A HREF="Chap01.htm#Heading20">Throwing an exception</A><BR>
<A HREF="Chap01.htm#Heading21">Catching an exception</A><BR>
<UL>
<A HREF="Chap01.htm#Heading22">The try block</A><BR>
<A HREF="Chap01.htm#Heading23">Exception handlers</A><BR>
<UL>
<A HREF="Chap01.htm#Heading24">Termination vs. resumption</A><BR>
</UL>
<A HREF="Chap01.htm#Heading25">The exception specification</A><BR>
<UL>
<A HREF="Chap01.htm#Heading26">unexpected(&#160;)</A><BR>
<A HREF="Chap01.htm#Heading27">set_unexpected(&#160;)</A><BR>
</UL>
<A HREF="Chap01.htm#Heading28">Better exception specifications?</A><BR>
<A HREF="Chap01.htm#Heading29">Catching any exception</A><BR>
<A HREF="Chap01.htm#Heading30">Rethrowing an exception</A><BR>
<A HREF="Chap01.htm#Heading31">Uncaught exceptions</A><BR>
<UL>
<A HREF="Chap01.htm#Heading32">terminate(&#160;)</A><BR>
<A HREF="Chap01.htm#Heading33">set_terminate(&#160;)</A><BR>
</UL>
<A HREF="Chap01.htm#Heading34">Function-level try blocks</A><BR>
</UL>
<A HREF="Chap01.htm#Heading35">Cleaning up</A><BR>
<A HREF="Chap01.htm#Heading36">Constructors</A><BR>
<UL>
<A HREF="Chap01.htm#Heading37">Making everything an object</A><BR>
</UL>
<A HREF="Chap01.htm#Heading38">Exception matching</A><BR>
<A HREF="Chap01.htm#Heading39">Standard exceptions</A><BR>
<A HREF="Chap01.htm#Heading40">Programming with exceptions</A><BR>
<UL>
<A HREF="Chap01.htm#Heading41">When to avoid exceptions</A><BR>
<UL>
<A HREF="Chap01.htm#Heading42">Not for asynchronous events</A><BR>
<A HREF="Chap01.htm#Heading43">Not for ordinary error conditions</A><BR>
<A HREF="Chap01.htm#Heading44">Not for flow-of-control</A><BR>
<A HREF="Chap01.htm#Heading45">You&#8217;re not forced to use exceptions</A><BR>
<A HREF="Chap01.htm#Heading46">New exceptions, old code</A><BR>
</UL>
<A HREF="Chap01.htm#Heading47">Typical uses of exceptions</A><BR>
<UL>
<A HREF="Chap01.htm#Heading48">Always use exception specifications</A><BR>
<A HREF="Chap01.htm#Heading49">Start with standard exceptions</A><BR>
<A HREF="Chap01.htm#Heading50">Nest your own exceptions</A><BR>
<A HREF="Chap01.htm#Heading51">Use exception hierarchies</A><BR>
<A HREF="Chap01.htm#Heading52">Multiple inheritance</A><BR>
<A HREF="Chap01.htm#Heading53">Catch by reference, not by value</A><BR>
<A HREF="Chap01.htm#Heading54">Throw exceptions in constructors</A><BR>
<A HREF="Chap01.htm#Heading55">Don&#8217;t cause exceptions in destructors</A><BR>
<A HREF="Chap01.htm#Heading56">Avoid naked pointers</A><BR>
</UL>
</UL>
<A HREF="Chap01.htm#Heading57">Overhead</A><BR>
<A HREF="Chap01.htm#Heading58">Summary</A><BR>
<A HREF="Chap01.htm#Heading59">Exercises</A><BR>
</UL>
<A HREF="Chap02.htm">2: Defensive Programming</A><BR>
<UL>
<A HREF="Chap02.htm#Heading61">Assertions</A><BR>
<A HREF="Chap02.htm#Heading62">Design by Contract</A><BR>
<A HREF="Chap02.htm#Heading63">The Simplest Automated Unit Test Framework that could Possibly Work</A><BR>
<UL>
<A HREF="Chap02.htm#Heading64">Automated Testing</A><BR>
<A HREF="Chap02.htm#Heading65">The TestSuite Framework</A><BR>
<A HREF="Chap02.htm#Heading66">Test Suites</A><BR>
<A HREF="Chap02.htm#Heading67">The Test Framework Code</A><BR>
</UL>
<A HREF="Chap02.htm#Heading68">Exercises</A><BR>
</UL>
<A HREF="Chap03.htm">3: Debugging Techniques</A><BR>
<UL>
<A HREF="Chap03.htm#Heading70">Shared objects &amp; reference counting</A><BR>
<A HREF="Chap03.htm#Heading71">Reference-counted class hierarchies</A><BR>
<A HREF="Chap03.htm#Heading72">Debugging</A><BR>
<UL>
<A HREF="Chap03.htm#Heading73">Trace macros</A><BR>
<A HREF="Chap03.htm#Heading74">Trace file</A><BR>
<A HREF="Chap03.htm#Heading75">Abstract base class for debugging</A><BR>
</UL>
<A HREF="Chap03.htm#Heading76">Finding memory leaks</A><BR>
<UL>
<A HREF="Chap03.htm#Heading77">Tracking new/delete &amp; malloc/free</A><BR>
</UL>
<A HREF="Chap03.htm#Heading78">The canonical object &amp; singly-rooted hierarchies</A><BR>
<UL>
<A HREF="Chap03.htm#Heading79">An extended canonical form</A><BR>
</UL>
<A HREF="Chap03.htm#Heading80">Exercises</A><BR>
</UL>
<A HREF="Part2.htm">Part 2: The Standard C++ Library</A><BR>
<UL>
<A HREF="Part2.htm#Heading82">Library overview</A><BR>
</UL>
<A HREF="Chap04.htm">4: Strings in Depth</A><BR>
<UL>
<A HREF="Chap04.htm#Heading84">What&#8217;s in a string</A><BR>
<UL>
<A HREF="Chap04.htm#Heading85">Creating and initializing C++ strings</A><BR>
<UL>
<A HREF="Chap04.htm#Heading86">Initialization limitations</A><BR>
</UL>
</UL>
<A HREF="Chap04.htm#Heading87">Operating on strings</A><BR>
<UL>
<A HREF="Chap04.htm#Heading88">Appending, inserting and concatenating strings</A><BR>
<A HREF="Chap04.htm#Heading89">Replacing string characters</A><BR>
<UL>
<A HREF="Chap04.htm#Heading90">Simple character replacement using the STL replace(&#160;) algorithm</A><BR>
</UL>
<A HREF="Chap04.htm#Heading91">Concatenation using non-member overloaded operators</A><BR>
</UL>
<A HREF="Chap04.htm#Heading92">Searching in strings</A><BR>
<UL>
<A HREF="Chap04.htm#Heading93">Finding in reverse</A><BR>
<A HREF="Chap04.htm#Heading94">Finding first/last of a set</A><BR>
<A HREF="Chap04.htm#Heading95">Removing characters from strings</A><BR>
<UL>
<A HREF="Chap04.htm#Heading96">Stripping HTML tags</A><BR>
</UL>
<A HREF="Chap04.htm#Heading97">Comparing strings </A><BR>
<UL>
<A HREF="Chap04.htm#Heading98">Indexing with [ ] vs. at(&#160;)</A><BR>
</UL>
<A HREF="Chap04.htm#Heading99">Using iterators</A><BR>
<UL>
<A HREF="Chap04.htm#Heading100">Iterating in reverse</A><BR>
</UL>
<A HREF="Chap04.htm#Heading101">Strings and character traits</A><BR>
</UL>
<A HREF="Chap04.htm#Heading102">A string application</A><BR>
<A HREF="Chap04.htm#Heading103">Summary</A><BR>
<A HREF="Chap04.htm#Heading104">Exercises</A><BR>
</UL>
<A HREF="Chap05.htm">5: Iostreams</A><BR>
<UL>
<A HREF="Chap05.htm#Heading106">Why iostreams?</A><BR>
<UL>
<A HREF="Chap05.htm#Heading107">True wrapping</A><BR>
</UL>
<A HREF="Chap05.htm#Heading108">Iostreams to the rescue</A><BR>
<UL>
<A HREF="Chap05.htm#Heading109">Sneak preview of operator overloading</A><BR>
<A HREF="Chap05.htm#Heading110">Inserters and extractors</A><BR>
<UL>
<A HREF="Chap05.htm#Heading111">Manipulators</A><BR>
</UL>
<A HREF="Chap05.htm#Heading112">Common usage</A><BR>
<A HREF="Chap05.htm#Heading113">Line-oriented input</A><BR>
<UL>
<A HREF="Chap05.htm#Heading114">Overloaded versions of get(&#160;)</A><BR>
<A HREF="Chap05.htm#Heading115">Reading raw bytes</A><BR>
<A HREF="Chap05.htm#Heading116">Error handling</A><BR>
</UL>
</UL>
<A HREF="Chap05.htm#Heading117">File iostreams</A><BR>
<UL>
<A HREF="Chap05.htm#Heading118">Open modes</A><BR>
</UL>
<A HREF="Chap05.htm#Heading119">Iostream buffering</A><BR>
<UL>
<A HREF="Chap05.htm#Heading120">Using get(&#160;) with a streambuf</A><BR>
</UL>
<A HREF="Chap05.htm#Heading121">Seeking in iostreams</A><BR>
<UL>
<A HREF="Chap05.htm#Heading122">Creating read/write files</A><BR>
</UL>
<A HREF="Chap05.htm#Heading123">stringstreams</A><BR>
<A HREF="Chap05.htm#Heading124">strstreams</A><BR>
<UL>
<A HREF="Chap05.htm#Heading125">User-allocated storage</A><BR>
<UL>
<A HREF="Chap05.htm#Heading126">Output strstreams</A><BR>
</UL>
<A HREF="Chap05.htm#Heading127">Automatic storage allocation</A><BR>
<UL>
<A HREF="Chap05.htm#Heading128">Proving movement</A><BR>
<A HREF="Chap05.htm#Heading129">A better way</A><BR>
</UL>
</UL>
<A HREF="Chap05.htm#Heading130">Output stream formatting</A><BR>
<UL>
<A HREF="Chap05.htm#Heading131">Internal formatting data</A><BR>
<UL>
<A HREF="Chap05.htm#Heading132">Format fields</A><BR>
<A HREF="Chap05.htm#Heading133">Width, fill and precision</A><BR>
</UL>
<A HREF="Chap05.htm#Heading134">An exhaustive example</A><BR>
</UL>
<A HREF="Chap05.htm#Heading135">Formatting manipulators</A><BR>
<UL>
<A HREF="Chap05.htm#Heading136">Manipulators with arguments</A><BR>
</UL>
<A HREF="Chap05.htm#Heading137">Creating manipulators</A><BR>
<UL>
<A HREF="Chap05.htm#Heading138">Effectors</A><BR>
</UL>
<A HREF="Chap05.htm#Heading139">Iostream examples</A><BR>
<UL>
<A HREF="Chap05.htm#Heading140">Code generation</A><BR>
<UL>
<A HREF="Chap05.htm#Heading141">Maintaining class library source</A><BR>
<A HREF="Chap05.htm#Heading142">Detecting compiler errors</A><BR>
</UL>
<A HREF="Chap05.htm#Heading143">A simple datalogger</A><BR>
<UL>
<A HREF="Chap05.htm#Heading144">Generating test data</A><BR>
<A HREF="Chap05.htm#Heading145">Verifying &amp; viewing the data</A><BR>
</UL>
<A HREF="Chap05.htm#Heading146">Counting editor</A><BR>
<A HREF="Chap05.htm#Heading147">Breaking up big files</A><BR>
</UL>
<A HREF="Chap05.htm#Heading148">Locales</A><BR>
<A HREF="Chap05.htm#Heading149">Summary</A><BR>
<A HREF="Chap05.htm#Heading150">Exercises</A><BR>
</UL>
<A HREF="Chap06.htm">6: Templates in depth</A><BR>
<UL>
<A HREF="Chap06.htm#Heading152">Nontype template arguments</A><BR>
<A HREF="Chap06.htm#Heading153">Default template arguments</A><BR>
<A HREF="Chap06.htm#Heading154">The typename keyword</A><BR>
<UL>
<A HREF="Chap06.htm#Heading155">Typedefing a typename</A><BR>
<A HREF="Chap06.htm#Heading156">Using typename instead of class</A><BR>
</UL>
<A HREF="Chap06.htm#Heading157">Function templates</A><BR>
<UL>
<A HREF="Chap06.htm#Heading158">A string conversion system</A><BR>
<A HREF="Chap06.htm#Heading159">A memory allocation system</A><BR>
</UL>
<A HREF="Chap06.htm#Heading160">Type induction in function templates </A><BR>
<A HREF="Chap06.htm#Heading161">Taking the address of a generated function template </A><BR>
<A HREF="Chap06.htm#Heading162">Local classes in templates</A><BR>
<A HREF="Chap06.htm#Heading163">Applying a function to an STL sequence</A><BR>
<A HREF="Chap06.htm#Heading164">Expression templates</A><BR>
<A HREF="Chap06.htm#Heading165">Template-templates</A><BR>
<A HREF="Chap06.htm#Heading166">Member function templates</A><BR>
<UL>
<A HREF="Chap06.htm#Heading167">Why virtual member template functions are disallowed</A><BR>
<A HREF="Chap06.htm#Heading168">Nested template classes</A><BR>
</UL>
<A HREF="Chap06.htm#Heading169">Template specializations</A><BR>
<UL>
<A HREF="Chap06.htm#Heading170">Full specialization</A><BR>
<A HREF="Chap06.htm#Heading171">Partial Specialization</A><BR>
<A HREF="Chap06.htm#Heading172">A practical example</A><BR>
<UL>
<A HREF="Chap06.htm#Heading173">Pointer specialization</A><BR>
<A HREF="Chap06.htm#Heading174">Partial ordering of function templates</A><BR>
</UL>
<A HREF="Chap06.htm#Heading175">Design &amp; efficiency</A><BR>
<A HREF="Chap06.htm#Heading176">Preventing template bloat</A><BR>
</UL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -