Lecture #2 - Survey of C++ Language

Web Resources:

CppReference.com, CPlusPlus.com, C++ TechLinks
CppCon - 2014, Going Native 2013
Herb Sutter's Blog, Herb Sutter on C++11, Herb Sutter keynote - Going Native 2012
Scott Meyer's Blog, S.M. on thread suspension, S.M.: C++11 Sampler
Stroustrup's Home Page, Code Project, Boost Library

Content:

This lecture provides some help with Project #1, then surveys the C++ Language.

This semester I will be linking all lecture videos only on the video page. You will find the first video, for Lecture #1, there now. I will put links for this week's Lecture #2 and Help Session on that page this weekend.
  1. Readings for Lecture #2

  2. Glossary of Terms

    • Scope:
      Any set of code statements enclosed in braces "{" and "}". Scopes come in two forms:
      Function scopes and all the control scopes they contain are executable scopes.
      Namespace, class, struct, and enum scopes are declaration scopes.
    • Stack Frame:
      Memory temporarily allocated from the program's stack to an executable scope.
      Allocation occurs when the program's thread of execution enters that scope.
      The stack frame holds a function's parameters and return value and any local data declared in that scope.
      This allocation becomes invalid when the thread of execution leaves it's scope.
  3. Syllabus
    Describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  4. Help Session:

    The Instructor's Friday morning Help Session will normally start at 9:00 am in CST 4-201.
  5. Getting free copy of Visual Studio 2015 from MSDN. from DreamSpark.
    You may alternately download and install the free Visual Studio 2015 Community Edition.
  6. Problem with Dependencies
    Motivation for a lot of what we do in this course.
  7. Project Helper code
  8. basic C++ code demos
    Shows how to implement and use simple classes, derived classes, and templatized classes.
  9. first look at STL notes
    The Standard Template Library (STL) provides a set of useful containers, iterators, and algorithms. You can use the containers without knowing too much about how templates work. We will get to that soon.
  10. basic STL code demos
    Shows how easy it is to use vectors, lists, sets, and maps.
  11. Visual Studio IDE:
  12. Review Syllabus, Review Getting Started
  13. Software Design

CST strip