This paper provides a detailed look at how C++ compilers typically implement language features,
focusing on the cost of those features — or, more typically, the lack thereof — compared to equivalent functionality in C. It begins with an extremely detailed examination of the implementation
of virtual functions under both single and multiple inheritance, explaining how performance considerations have influenced both the design and implementation of this language feature. It then moves to an overview of the implementation of all other features of C++, dividing them into “no-cost” and “low-cost” categories.