Algorithms
The use of containers from the standard library is widely employed among C++ programmers. It's rare to find C++ code bases without references to std::vector
or std::string
, for example. However, in my experience, standard library algorithms are much less frequently used, even though they offer the same kind of benefits as containers:
- They can be used as building blocks when solving complex problems
- They are well documented (including references, books, and videos)
- Many C++ programmers are already familiar with them
- Their space and runtime costs are known (complexity guarantees)
- Their implementations are well crafted and efficient
If this wasn't enough, C++ features such as lambdas, execution policies, concepts, and ranges have all made the standard algorithms more powerful and, at the same time, friendlier to use.
In this chapter, we will take a look at how we can write efficient algorithms in C++ using the...