[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] / [CSci202] / 13
[Text Version] [Syllabus] [Schedule] [Glossary] [Resources] [Grading] [Contact] [Question] [Search ]
Notes: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] <13> [14] [15] [16] [17] [18] [19] [20]
Labs: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10]
Wed May 11 13:31:14 PDT 2011


    CS202 session 13 Memory Management

      Previous -- Operator Overloading

      [ 12.html ]


      Study Chapter 15 (pay attention to the errors) and do Review Questions at the end.

      Source code to use in Chapter 15

      [ trace.h ] [ tracetest.cpp ] [ traceExtend.cpp ]

      Due in

      Hand in one even numbered review question+answer at the start of class.

      You have to take care to manage memory correctly

      [new; set; #(set|get); delete ]

      Here are the Rules of Memory Management

      1. * Get the memory before it is used.
      2. Initialize it after you have got it and before it is used.
      3. Use it and change it as necessary only when you own it and it has been initialized.
      4. * Delete it when finished with it.
      5. Do not refer to it after it is deleted.

      When in doubt copy the examples in this book.

      But do it thoughtfully.

      Exercises on Memory

      [ 13q.html ]

      Next -- Templates

      [ 14.html ]

      Next project due class 17 (bonus in 16). Next quiz in class 17.


  1. accessor::=`A Function that accesses information in an object with out changing the object in any visible way". In C++ this is called a "const function". In the UML it is called a query.
  2. Algorithm::=A precise description of a series of steps to attain a goal, [ Algorithm ] (Wikipedia).
  3. class::="A description of a set of similar objects that have similar data plus the functions needed to manipulate the data".
  4. constructor::="A Function in a class that creates new objects in the class".
  5. Data_Structure::=A small data base.
  6. destructor::=`A Function that is called when an object is destroyed".
  7. Function::programming=A selfcontained and named piece of program that knows how to do something.
  8. Gnu::="Gnu's Not Unix", a long running open source project that supplies a very popular and free C++ compiler.
  9. mutator::="A Function that changes an object".
  10. object::="A little bit of knowledge -- some data and some know how". An object is instance of a class.
  11. objects::=plural of object.
  12. OOP::="Object-Oriented Programming", Current paradigm for programming.
  13. Semantics::=Rules determining the meaning of correct statements in a language.
  14. SP::="Structured Programming", a previous paradigm for programming.
  15. STL::="The standard C++ library of classes and functions" -- also called the "Standard Template Library" because many of the classes and functions will work with any kind of data.
  16. Syntax::=The rules determining the correctness and structure of statements in a language, grammar.
  17. Q::software="A program I wrote to make software easier to develop",
  18. TBA::="To Be Announced", something I should do.
  19. TBD::="To Be Done", something you have to do.
  20. UML::="Unified Modeling Language".
  21. void::C++Keyword="Indicates a function that has no return".