Preview: Articles published in The C++ Source
Articles published in The C++ Source
The most recently published articles in Artima's The C++ Source.
Enforcing Code Feature Requirements in C++
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.
A Brief Introduction to Rvalue References
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.
How To Go Slow
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.
On the Tension Between Object-Oriented and Generic Programming in C++
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.
Safe Labels in C++
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.
Gathering Scattered I/O in C++
Have your cake and eat it, too, with STL extensions. In this chapter extract from his latest book, Matthew Wilson shows you how to take full advantage of the STL Iterator abstraction, without sacrificing block-transfer efficiency of Scatter/Gather I/O memory.
Subscribing Template Classes with Object Factories in C++
Object factories provide a useful abstraction for object construction. A special problem with object factories must be considered, however, when subscribing template classes with object factories. This article presents an overview of the "subscription problem" along with several solutions.
BoostCon'07 Trip Report
Couldn’t make it to BoostCon'07, the inaugural annual Boost Conference? Here’s the next best thing--a lively trip report from one of its presenters.
An Introduction to XML Data Binding in C++
XML processing has become a common task that many C++ application developers have to deal with. This article introduces XML Data Binding and shows how it can simplify XML processing in C++.
Trip Report: Ad-Hoc Meeting on Threads in C++
The C++ standardization committee is hard at work standardizing threads for the next version of C++. Some members recently met to discuss the issues, and The C++ Source was there. Read on to learn what the world’s leading experts on concurrency are planning for C++0x.
The Lazy Builder’s Complexity Lesson
This article investigates the complexity guarantees made by the C++ Standard Library. By analyzing and measuring the performance of alternative solutions to the same problem it shows how this library allows us to write code that is both simple and efficient.