Lecture overview -- Keyboard shortcut: 'u'  Source programs in previous lecture -- Keyboard shortcut: 'p'  Source programs in next lecture -- Keyboard shortcut: 'n'  Course home

Source Programs
Basic facilities, Part 2

The Note Context in the rightmost column is only shown in case an annotated program exists. - You can navigate to the annotated program via the annotated slide view (= 'the note context').

Different forms of lambda expressions.forms0.ccSlide context--
The examples from above in context.forms.ccSlide context--
More forms - mutable and explicit return type.more-forms.ccSlide context--
An immediate call of a lambda expression.lambda1.ccSlide context--
Lambda expressions and recursive calls.lambda2.ccSlide context--
A function that returns a function - closure - problems.lambda3.ccSlide context--
Same in Scheme - where this kind of stuff works out of the box.lambda3.scmSlide context--
A function that returns a function - OK.lambda4.ccSlide context--
Examples of static casting in C++.casts1.ccSlide context--
The compilable parts of the program from above.casts1-compilable.ccSlide context--
Example of dynamic casting in C++.casts2.ccSlide context--
The compilable parts of the program from above.casts2-compilable.ccSlide context--
dynamic_cast is a predicate - it tests if a pointer is of the appropriate type.casts3.ccSlide context--
Examples of reinterpret_cast.casts4.ccSlide context--
The compilable parts of the program from above.casts4-compilable.ccSlide context--
Exact matches - a trivial example.overloading-1.ccSlide context--
Simple examle of an ambiguity.overloading-2.ccSlide context--
An ambiguity between 'float to int' and 'float to long int'.overloading-4.ccSlide context--
'Float to double' conversion prefered over 'float to int' and 'float to long int'.overloading-3.ccSlide context--
Point.h.point.hSlide context--
double to Point via Point(double) constructor.overloading-5.ccSlide context--
'double to char' instead of 'double to Point'.overloading-6.ccSlide context--
Now in an ambiguity situation.overloading-7.ccSlide context--
A single best match again - slightly surprising perhaps.overloading-8.ccSlide context--
A trivial example with overloading of a function of two parameters.overloading-9.ccSlide context--
The Knold & Tot example from section 20.3.6 of 3rd version of the C++ book.knold-tot.ccSlide context--
The Knold & Tot example with char*.knold-tot-c-like-1.ccSlide context--
The Knold & Tot example with char[].knold-tot-c-like-2.ccSlide context--
The Knold & Tot example with strcpy from <cstring>.knold-tot-c-like-3.ccSlide context--
The Knold & Tot example with char* aliasing.knold-tot-c-like-4.ccSlide context--
Illustration of various basic string operations in C++.string-ex.ccSlide context--
Same - with C++ initializations.string-ex-cpp11.ccSlide context--
A simple vector example - similar to first array program.vector-1.ccSlide context--
A variant of the simple vector example - non-executable.vector-1-modern.ccSlide context--
A variant of the simple vector example - executable.vector-1-modern-compilable.ccSlide context--
Another vector example - constructors, insertion, lexicographic comparison.vector-2-cpp11.ccSlide context--
Illustration of free store.new-del-1.cppSlide context--
Opening, working on, and closing a file - as simple as possible.fstream-prog.ccSlide context--
Illustration of implicit stream conversion to a boolean value - and stream states.copy-is-os-3.ccSlide context--
Output manipulators.manipulators-1.ccSlide context--
A variant of the program above - without showbase.manipulators-1a.ccSlide context--
Illustration of more manipulators.manipulators-2.ccSlide context--
Programming our own manipulator - with two parameters.own-manipulator.ccSlide context--
Illustration of using declarations and using directives - by example.namespace-1.ccSlide context--
Compilable variant of the program from above.namespace-1-compilable.ccSlide context--
Illustrating that a namespace interface is separated from the namespace implementation.namespace-2.ccSlide context--
The header file point.h.point.hSlide context--
The header file tripple.h.tripple.hSlide context--
The header file point.cpp.point.cppSlide context--
The header file tripple.cpp.tripple.cppSlide context--
The header file main.cpp.main.cppSlide context--
Compilation - README.READMESlide context--
The header file point.h.point.hSlide context--
The header file tripple.h.tripple.hSlide context--
The header file point.cpp.point.cppSlide context--
The header file tripple.cpp.tripple.cppSlide context--
The header file main.cpp.main.cppSlide context--

Generated: Tuesday August 1, 2017, 13:27:03