Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the power of monoids in C++ programming through this comprehensive conference talk from C++Now 2019. Delve into the concept of composition as a fundamental aspect of code architecture and discover how monoids serve as an underutilized compositional pattern prevalent in various types of code. Learn to identify and leverage monoids to enhance large-scale code architecture, similar to how recognizing algorithms improves small-scale architecture. Examine numerous examples of monoids beyond std::accumulate with addition, and develop an intuition for recognizing this ubiquitous design pattern. Gain insights into thinking about code capabilities at a higher level and understand how monoid-based thinking can benefit API design, incremental computation, system state evolution, and work distribution. Explore C++ language and library features that support the implementation of monoids in code, covering topics such as strings, containers, heterogeneous collections, union and identity, configuration, optional operations, generic fold, HyperLogLog, CountMinSketch, and accumulation.