Course week 5

Self-study (english videos and slides)

The topic for this week is the C++ Standard Template Library (STL)

The following links will take you to the video-lectures and the accompanying slides:

Standard Template Library (STL)

slides for Standard Template Library (STL)

Note The STL container performance video uses a table entitled Choosing container based on performance. There are some mistakes in the version of this table presented in the video. However, a corrected version of this table is given in the file containing the slides.

Week05 - Glossary

The STL can be divided into three parts. What are they?
What information does the STL documentation contain regarding the runtime efficiency of most STL algorithms?
For a C++ programmer it is important to know how to use the STL because
The two main types of STL containers are sequences and associative containers. What are the main features of sequence containers? (There may be more than 1 correct statement.)
For an associative container,
With regard to the appropriate choice of associative container, which of the following statements are correct? (There may be more than 1 correct statement.)
Let \(X\) be an STL container and \(Op1\) be some basic operation (example search for a value). It is possible that STL does not have a function that does \(Op1\) for \(X\). There are two reasons for this. One reason is that doing \(Op1\) for \(X\) is either impossible or it makes no sense. What is the other reason?
For which of the following cases does STL provide a function having a constant runtime efficiency? (There may be more than 1 correct case.)
When trying to write code that runs efficiently, a programmer should choose containers so that
Regarding iterators in STL, which of the following statements are true? (More than one statement may be true.)
Suppose \(i1\) and \(i2\) are iterators for some sequence container. If \(i2 < i1\) is true, which of the following is correct?
Suppose \(i1\) and \(i2\) are iterators from two different categories. Which of the following is correct?
Regarding iterator categories, which of the following statement are true? (More than one may be true.)
What is a central question, related to this course, whose answer can be found in this week’s videos?
Of the following topics, which do you think deserves further discussion/explanation during the weekly consultation session?
Were there any parts of the video lectures that were particularly difficult? Particularly interesting? Something about which you wish to learn more?

Extra links on the topic:

Week05 - Glossary

Viikko05 - Sanasto

Submit weekly exercises

Questions to be submitted this week