Category Archives: C/C++

Deleted Class Methods

One of the new features in C++0x is a declaration syntax allowing you to remove methods from a class entirely. While this may sound rather strange at first blush, it does have some interesting usages that will make your code … Continue reading

Posted in C/C++ | Tagged , , | Leave a comment

Delegating Constructors

Delegating constructors are one of those minor language features that don’t get a lot of headlines, but make a programmer’s life much easier. It’s not likely something you’ll use on a daily basis, but it is something you will run … Continue reading

Posted in C/C++ | Tagged , | Leave a comment

Typesafe Enumerations

C++0x has a lot of great new features included in it. However, the “flashier” features like lambda functions have the tendency to overshadow other features. One of those features which I am guessing will be overshadowed is the ability to … Continue reading

Posted in C/C++ | Tagged , | Leave a comment

Allocations Are Like a Game of Memory

Think of memory allocations and deallocations like a game of “memory”, where the only correct answer is to exactly match the cards. Failing to do so can lead to memory corruption that can sometimes be tricky to track down. The … Continue reading

Posted in C/C++ | Tagged , , | Leave a comment

Automatic Type Inference

One of the nice new features introduced by C++0x is automatic type inference for declarations. Essentially, it means that the compiler will figure out the declaration type based on information from the right-hand side of the expression. If you come … Continue reading

Posted in C/C++ | Tagged , | 3 Comments

Lambdas

What is likely to be considered the biggest, sexiest feature of the new C++0x specification goes by many names. Some folks call them “function objects”, others call them “closures”, and still others call them “lambda functions.” Regardless of what you … Continue reading

Posted in C/C++ | Tagged , , , | 2 Comments

When Virtual Functions Aren’t Virtual

Let’s take a look at some innocuous-looking code and see if you can spot the bugs. If you can, you’re doing great!

Posted in C/C++ | Tagged | Leave a comment

Semantic Whitespace

No, this isn’t a blog posting about Python and its use of whitespace to denote statement blocks. This is actually a post about when whitespace matters in C++. It doesn’t happen particularly often, but whitespace can be important.

Posted in C/C++ | Tagged | Leave a comment

C++ Gets For-Each

One of the new language features that has been added to C++0x is the for-each syntax. Anything which defines a range can be iterated over by the new syntax, including arrays, anything you can call begin and end on, or … Continue reading

Posted in C/C++ | Tagged , | 1 Comment