
























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The simplest possible c++ program and outlines how it can be made into running code for beginners who want to become professionals. It is a course in the c++ programming language for students who want to become language lawyers and assumes they are bright but not (necessarily) geniuses and willing to work hard. After the course, students will be able to write small colloquial c++ programs and read much larger programs.
Typology: Lecture notes
1 / 32
This page cannot be seen from the preview
Don't miss anything!

























www.stroustrup.com/Programming
www.stroustrup.com/Programming
who want to become professionals
who want to become professionals
i.e., people who can produce systems that others will use
i.e., people who can produce systems that others will use
who are assumed to be bright
who are assumed to be bright
Though not (necessarily) geniuses
Though not (necessarily) geniuses
who are willing to work hard
who are willing to work hard
Though do need sleep occasionally, and take a normal course load
Though do need sleep occasionally, and take a normal course load
A Washout course
A Washout course
“
“If you can get into the science/engineering parts of a university, youIf you can get into the science/engineering parts of a university, you
can handle this course
can handle this course””
A course in
A course in
The C++ programming language
The C++ programming language
For students
For students
who want to become language lawyers
who want to become language lawyers
We try not to get bogged down in technical obscurities
We try not to get bogged down in technical obscurities
who are assumed to be a bit dim and fairly lazy
who are assumed to be a bit dim and fairly lazy
We try not to spoon feed
We try not to spoon feed
Using
Using
Some untested software development methodologies and a lot of
Some untested software development methodologies and a lot of
unnecessarily long words
unnecessarily long words
Always do the drills
Always do the drills
Always do the drills before the exercises
Always do the drills before the exercises
Projects
Projects
That
That’’s where the most fun and the best learning takes places where the most fun and the best learning takes place
Quizzes
Quizzes
Exams
Exams
You can’t learn to program without a programming language
You can’t learn to program without a programming language
The purpose of a programming language is to allow you to
The purpose of a programming language is to allow you to
express your ideas in code
express your ideas in code
C++ is the language that most directly allows you to express
C++ is the language that most directly allows you to express
ideas from the largest number of application areas
ideas from the largest number of application areas
C++ is the most widely used language in engineering areas
C++ is the most widely used language in engineering areas
http://www.stroustrup.com/applications.html
http://www.stroustrup.com/applications.html
And that standard is almost universally accepted
And that standard is almost universally accepted
The most recent standard in ISO C++ 2014
The most recent standard in ISO C++ 2014
Including C, Java, C#, and (less directly) Fortran
Including C, Java, C#, and (less directly) Fortran
Program design and development techniques
Program design and development techniques
C++ language features
C++ language features
Background and related fields, topics, and languages
Background and related fields, topics, and languages
C++ language summary
C++ language summary
C++ standard library summary
C++ standard library summary
Index (extensive)
Index (extensive)
Glossary (short)
Glossary (short)
Detail
Detail : We will try to explain every construct used in this
: We will try to explain every construct used in this
course in sufficient detail for real understanding
course in sufficient detail for real understanding
There is no “There is no“magicmagic””
Utility
Utility : We will try to explain only useful concepts, constructs,
: We will try to explain only useful concepts, constructs,
and techniques
and techniques
We will not try to explain every obscure detailWe will not try to explain every obscure detail
Completeness
Completeness : The concepts, constructs, and techniques can
: The concepts, constructs, and techniques can
be used in combination to construct useful programs
be used in combination to construct useful programs
There are, of course, many useful concepts, constructs, and techniques
There are, of course, many useful concepts, constructs, and techniques
beyond what is taught here
beyond what is taught here
Please mail questions and constructive comments to
Please mail questions and constructive comments to
Your feedback will be most appreciated
Your feedback will be most appreciated
On style, contents, detail, examples, clarity, conceptual problems,
On style, contents, detail, examples, clarity, conceptual problems,
exercises, missing information, depth, etc.
exercises, missing information, depth, etc.
Book support website (www.stroustrup.com/Programming)
Book support website (www.stroustrup.com/Programming)
Local course support website
Local course support website
Most engineering activities involve software
Most engineering activities involve software
a screen, a keyboard, a box under the table
a screen, a keyboard, a box under the table