In addition to the sequential containers, the library defines three sequential container adaptors: stack
, queue
, and priority_queue
. An adaptor is a general concept in the library. There are container, iterator, and function adaptors. Essentially, an adaptor is a mechanism for making one thing act like another. A container adaptor takes an existing container type and makes it act like a different type. For example, the stack
adaptor takes a sequential container (other than array
or forward_list)
and makes it operate as if it were a stack
. Table 9.17 lists the operations and types that are common to all the container adaptors.
Exercise 9.50: Write a program to process a vector<string>
s whose elements represent integral values. Produce the sum of all the elements in that vector
. Change the program so that it sums of string
s that represent floating-point values.
Exercise 9.51: Write a class that has three unsigned
members representing year, month, and day. Write a constructor that takes a string
representing a date. Your constructor should handle a variety of date formats, such as January 1, 1900, 1/1/1900, Jan 1, 1900, and so on.