CMake allows us to organize our project in a better way than a flat structure.
C++
CMake Control Flow
CMake control flow consists of both if statements and for and while loops. They work as we would expect.
CMake Variables
CMake, like any other language, has variables. CMake variables are all treated as strings but they have the usual types.
Basics of CMake
CMake is a cross-platform build configuration system for C and C++ among others. This blog is about the basics of CMake.
STL Algorithms
The STL algorithms library that provides unified functions for sorting, counting, manipulation, as well a many other things. It works with ranges which are defined as beginning to end where end is non-inclusive.
std::map
std::map is an associative container which is split into key / value pairs with unique keys.
std::set
std::set is ordered, associative container. This means that the type you store in the set must have a way to order themselves,
std::list
Std::list is designed to have very fast insertions and removals anywhere in the container. It achieves this by providing pointer pointer the next and previous items in the list
Continue reading
std::forward_list
Std::forward_list is designed to have very fast insertions and removals anywhere in the container. It does this by giving each element a pointer to the next element.
std::deque
std::deque is a container designed for very fast insertion and removal at both ends of the container.
Learning C++
Learning C++ is a daunting thing, I put of doing it for years and finally took the plunge last year. Here’s what worked for me.
Iterators
Iterators a pointer-like types that we can use to traverse containers without caring about the underlying structure.