Home > Articles > Programming > C/C++

C/C++

61 Items

Sort by Date | Title

Robert C. Martin's Clean Code Tip of the Week #4: Avoid Obsolete Comments
By Robert C. Martin
Feb 11, 2009
A comment that has gotten old, irrelevant, and incorrect is obsolete. Obsolete comments tend to migrate away from the code they once described and become floating islands of irrelevance and misdirection.
Robert C. Martin's Clean Code Tip of the Week #3: Avoid Inappropriate Information
By Robert C. Martin
Jan 28, 2009
In this third tip of the series, programmers discuss how to avoid inappropriate information.
Robert C. Martin's Clean Code Tip of the Week #2: The Inverse Scope Law of Function Names
By Robert C. Martin
Jan 21, 2009
The longer the scope of a function, the shorter its name should be.
Robert C. Martinโ€™s Clean Code Tip of the Week #1: An Accidental Doppelgänger in Ruby
By Robert C. Martin
Jan 7, 2009
Robert C. Martin investigates an interesting dilemma: if the implementation of two functions is identical, yet their intent is completely different, is it still duplicate code?
What Is Clean Code?
By Robert C. Martin
Aug 19, 2008
Robert C. Martin introduces his book, Clean Code, and polls experienced programmers -- including Bjarne Stroustrup, Grady Booch, Dave Thomas, and Ward Cunningham -- on what their definition of "Clean Code" is.
Iterating Through Containers in C++, with Some Help from Boost's Lambda Library and Friends
By Jeff Cogswell
Jul 29, 2005
Don't be jealous of programmers using new languages, such as Python or C#! C++ gives you many ways to iterate through data you've stored in containers, supports for-each, and has helpful devices called lambda functions. Jeff Cogswell shows you how you can fly through your containers with ease.
Stroustrup on C++: C++ in 2005
By Bjarne Stroustrup
Jul 8, 2005
In the Japanese edition of his latest book, Bjarne Stroustrup added an extended essay, reflecting on C++ use over the last decade, and presenting plausible directions for the next revision of the C++ standard.
Adding an Easy File Save and File Load Mechanism to Your C++ Program
By Jeff Cogswell
Jul 1, 2005
Why waste your time figuring out an algorithm for storing things in a file? And why spend time debugging the code? Let the Boost library do it for you. Saving your data to your own custom-made file formats is easy with the help of the Boost serialization templates. Jeff Cogswell shows you how to save the data and read it back in with ease.
Publish and Subscribe Using C++ and the Observer Pattern
By Stephen B. Morris
May 27, 2005
Separation of concerns is increasingly on the programmer's radar. Given the growing range of data access products and platforms, it is now essential to separate data producers from data consumers. The observer pattern provides a simple but powerful model for achieving this crucial design goal.
C++ Coding Standards: Take Parameters Appropriately by Value, (Smart) Pointer, or Reference
By Herb Sutter, Andrei Alexandrescu
May 6, 2005
Choosing well among values, references, and pointers for parameters is good habit that maximizes both safety and efficiency. This chapter from Herb Sutter and Andrei Alexandrescu will help you do just that.
C++ Coding Standards: Report, Handle, and Translate Errors Appropriately
By Herb Sutter, Andrei Alexandrescu
Apr 29, 2005
In C++, as in all coding, it is important to address errors as soon as they are detected. This chapter provides the process for dealing with errors in a precise and prompt manner.
Exceptional C++ Style: Index Tables
By Herb Sutter
Apr 15, 2005
It may seem obvious, but clear, concise code benefits everyone in the process. This sample chapter from Exceptional C++ Style explains in detail how clear code enhances productivity at every step of the way, not just for programmers and debuggers.
An In-Depth Look at Metafunctions in C++
By Aleksey Gurtovoy, David Abrahams
Apr 1, 2005
This chapter looks at a practical example from science and engineering that can find applications in almost any numerical code. Along the way, you'll learn some important new concepts and get a taste of metaprogramming at a high level using the MPL.
C++ Tip #83: Use a Checked STL Implementation
By Herb Sutter, Andrei Alexandrescu
Mar 18, 2005
In C++, it's all too easy to make iterator mistakes, and you may not even detect them when compiling and running your program. That's the bad news. The good news is that you don't have to run blind. There are tools for checking your code for these errors, and this chapter will tell you how to use them.
Construction Unions: A C++ Challenge
By Herb Sutter
Feb 4, 2005
In this C++ Challenge, Herb Sutter throws down the gauntlet. Can you get around the C++ rule of using constructed objects as members of unions? Find out the answer in this sample chapter.
Designing and Writing Generic Facilities: A C++ Challenge
By Herb Sutter
Jan 28, 2005
This chapter provides you with the opportunity to flex your C++ muscles by critiquing a piece of code. Can you find a better way to optimize this code for idiomatic usage? Find out in this challenge from Herb Sutter.
Smart Pointers in C++
By Andrei Alexandrescu
Apr 18, 2003
Andrei Alexandrescu discusses smart pointers, from their simplest aspects to their most complex ones and from the most obvious errors in implementing them to the subtlest ones—some of which also happen to be the most gruesome.
In Praise of C and C++
By Pete McBreen
Jul 19, 2002
See why many developers prefer C and C++ over other rapid development tools. C and C++ enable developers to create long-lived predictable applications and to interface to legacy code on practically any platform.
Using Library Algorithms in C++
By Andrew Koenig, Barbara E. Moo
Feb 15, 2002
By using the standard algorithms provided by the library's common interfaces, you can avoid rewriting code. Andrew Koenig and Barbara Moo show how to write smaller, simpler programs with this approach.
Multithreading and the C++ Type System
By Andrei Alexandrescu
Feb 8, 2002
Multithreaded programming is unwieldy, to say the least. You need all the help you can get, especially when your own compiler can graciously provide it.

<< < Prev Page 1 2 3 4 Next >