In this article, Scott Meyers describes a technique that enables the specification of arbitrary combinations of user-defined code features on a per-function basis and that detects violations of feature constraints during compilation.
Rvalue references is a small technical extension to the C++ language. Rvalue references allow programmers to avoid logically unnecessary copying and to provide perfect forwarding functions. They are primarily meant to aid in the design of higher performance and more robust libraries.
Computers make life easier because they're so fast, right? Well, yes and no. Do you write efficient code? The author reveals some disconcerting inefficiencies lurking in commonly used software and development practices.
The author discusses how the use of generic programming in C++ can lead to conflicts with object-oriented design principles. He demonstrates how a technique known as type erasure can often be used to resolve these conflicts.
An in-depth example is presented: any_iterator, a type-safe, heterogeneous C++ iterator.
C++ is a language for writing efficient high-performance programs,
and bit manipulations are bread and butter of many such programs.
This article presents a solution to the problem of constraining bit
operations to allow only safe and legitimate ones, and turn all invalid
bit manipulations into compile-time errors.