| 2007-08-23 |
In Lecture 10,
the install_new_handler destructor didn't have a '~' in front
of it.
|
| 2007-01-31 |
In Lecture 10,
add exception declarations to the examples and speak more about
exception declarations in the narrative.
|
| 2006-05-22 |
In Lecture 8,
simplify the
streamio example,
and call them "use cases" rather than "test runs".
The simplification induced identical operation for both
Borland 5.5 and g++ 3.4.1. In the previous version of the
example, when seekg(streampos) was used in conjunction with
tellg() to rewind to just before the second number,
Borland 5.5 reset the state from eof to good which it doesn't
do in the current version of the example. The consistency
of the two compilers is an unexpected plus of the simplfication,
so comparing and contrasting them is no longer necessary.
In Section 8.4,
try to clarify the observation on why tell/seek functions not
found at the ios level. Add another observation on the necessity
of clearing the stream state when rewinding after reading to the
end of a stream.
In Section 8.3,
correct typo so it makes a comment about "g" suffix rather
than the irrelevant (for this section) "p" suffix.
|
| 2006-05-18 |
In Lecture 8,
emphasize the implications of stateful I/O in C++
and the different treatment of eofbit and failbit. Explain the
dashed lines in the stream class tree.
Add the streamio example.
|
| 2006-05-15 |
In the Contents,
update the Visual C++ link.
|
| 2006-04-28 |
In sort.cpp, go back to using strcmp
rather than strncmp. Seems simpler, and can't create the
kind of problems strcpy can.
In 1, add Dylan to the list of object-oriented
languages and alphabetize them. Mention Fortran 2003 rather than
Fortran 90, and Perl and Python too.
|
| 2006-04-26 |
Redo employ1.cpp and
employ2.cpp
to replace char * references with string.
Redo swap2.cpp to use an
int array rather than a char array.
Redo sort.cpp to use strncmp
rather than strcmp, and make it more verbose.
In 9, update link to
LTCmp().
In 8, update a few more types.
|
| 2006-04-25 |
In 8, replace most references to ios
to ios_base. Remove references to stdiobuf though
one wonders if it's still possible to mix C and C++
I/O for arbitrary files. Also noreplace option for opening
files has apparently been discarded. The manipulator discussion has
been heavily revised.
|
| 2006-04-24 |
In 10, correct a couple typos, give the coding
precautions their own section and add a section listing the standard
exceptions.
In 10.4, mention auto_ptr
in the first item.
|
| 2006-04-21 |
In 2, redo the discussion of dynamic memory
allocation and get rid of that sleazy example. Introduce a definition
of memory leak, and add it to the Glossary.
In 6, exclude delete[] from the list
of operators that can't be overloaded. In the
Contents, acknowledge Sudershan Taneja for
benefits received from conversations with him.
|
| 2006-04-14 |
Add to-do list to the bottom of this file.
|
| 2006-04-13 |
In 8, 9,
10 and
Examples, reduce size of ++ in C++.
Put a note in 8 that the material needs revisions
to bring it up to date with the ANSI C++ standard.
|
| 2006-04-12 |
In 3, 4,
5, 6 and
7, reduce size of ++ in C++.
In 3.4, tighten up descriptions of
construction and destruction in various situations with help
from 10.4.3 from Stroupstrup's 3rd edition.
In 4.1, call them non-member rather than
"global" functions and delete a couple remarks that don't make sense to me
anymore.
Add an introductory remark to the Glossary.
|
| 2006-04-11 |
Shrink the ++ here and in Contents.
In 1, update the list of object-oriented
languages.
In 2, update note on eof() and
put std prefix on EOF and a few other places.
Note STL alternatives to realloc(). Implement
swap example and insert into Examples.
Existing swap example in 9 becomes swap2.
In 9, change sort2 to sort and make
corresponding change to Examples.
|
| 2006-04-10 |
Complete updating examples with Lectures 8,
9 and 10.
In 9, use term "specialization" rather
than non-standard "escape".
In 1 and 2,
shrink the "++" in C++ everywhere, and
indicate include files and appropriate prefix notation when
standard libraries are used.
|
| 2006-04-07 |
Continue updating examples with Lectures 5,
6 and 7.
|
| 2006-04-06 |
Continue updating examples with Lecture 4.
In Lecture 3,
try to characterize difference in machine code for the two date examples
a little better.
|
| 2006-04-04 |
Begin updating examples so they compile on modern compilers.
As they are updated, collect links to them on the new
Examples page. Link to free Borland
and Microsoft compilers in Table of Contents.
|
| 2006-03-07 |
In Table of Contents, set out a possible curriculum
which would incorporate the Standard Template Library. Mention the
Glossary when speaking of the definitions.
|
| 2006-03-06 |
In Table of Contents, "Programming" got left out
of the title of the first lecture. Add a "description" meta tag there, and
a subject to the "mailto" tag.
Acknowledge the neglect of the Standard
Template Library in the notes, and mention new editions of Stroustrup's book.
In Lecture 10, correct a grammar error,
add "description" meta tag. Other minor edits. Upper-case doctype
tag for all three of these pages. Validator doesn't pick up on it otherwise.
Switch to ISO 8601 date format for this revision history.
|
| 2004-11-22 |
Add Glossary.
In Lecture 3, describe construction and
destruction of base components and member objects a little more clearly.
Fix HTML (no block-level elements allowed in paragraphs). |
| 2004-03-03 |
Reposition back link and add new one in revision history. |
| 2004-01-06 |
Explain the format of the tables where definitions are presented and
fix the tables' alignment. Put lecture number in browser title.
Make it easier to jump between lectures. |
| 2003-11-18 |
Add meta tag specifying charset to satisfy new W3C validator
requirements. |
| 2001-08-16 |
Add unget and readsome member functions to istream and
substitute streamsize for int in lec08.htm. |
| 2000-08-14 |
Polish HTML. Add put member function to ostream in lec08.htm. |
| 1999-06-14 |
Revised Employee examples to plug some destruction logic holes
and use nicer naming convention. Revised references to these
classes in lec07.htm. |
| 1999-05-12 |
Revised two for loops in employee example code for lecture 7 to
declare iterator variable outside loop so they work under latest
C++ compilers. |
| 1999-04-21 |
Started revision file. lec08.htm:
Fixed header between sections 8.5 and 8.6
which became new 8.6. Renumbered 8.6 ... to 8.7 ... Put a list
of relevant header files at the beginning of the lecture. Removed
angular brackets about a couple citations of header files which
made them invisible in html. |