Dr. Dobb's C/C++ http://www.drdobbs.com//cpp Dr. Dobb's Copyright 2012, United Business Media. en-us Why Does C++ Allow Arithmetic on Null Pointers? http://www.drdobbs.com/blogs/cpp/240001022 My last two notes discussed a subtle language-design issue that simplifies programmers' lives in ways that they often don't suspect. This theme seems useful, so I'll continue it. Thu, 24 May 2012 11:27:00 -0400 The Solution to Last Week's Language-Design Puzzle http://www.drdobbs.com/blogs/cpp/240000619 Anomalies, and design strategies for avoiding them, are among the many reasons that programming-language design is harder than it looks. Thu, 17 May 2012 14:51:00 -0400 Extracting Function Parameter and Return Types in C++ http://www.drdobbs.com/cpp/240000586 Using the metaprogramming capabilities of C++ and generic programming, it's possible to create an elegant parser of parameter types. Command-line interpreters, parsers, and syntax checkers are among the many applications. Thu, 17 May 2012 10:39:00 -0400 A Language-Design Puzzle in Operator Overloading http://www.drdobbs.com/blogs/cpp/240000124 Resolving an overloaded function call involves finding a single possibility that is strictly better than all the others. Wed, 09 May 2012 18:31:00 -0400 The New C Standard Explored http://www.drdobbs.com/cpp/232901670 C11 specifies many security features that require minimal changes to existing code. They greatly reduce unexpected behavior and prevent many kinds of common attacks. Tue, 08 May 2012 12:17:00 -0400 The New Native Languages http://www.drdobbs.com/architecture-and-design/232901652 D and Go are at the forefront of a new generation of native languages emerging in the space between C and C++. Tue, 08 May 2012 09:45:00 -0400 New Native Languages http://www.drdobbs.com/tools/232901643 D, Go, Vala, and Rust: A new generation of native languages. Tue, 08 May 2012 08:47:00 -0400 Voldemort Types In D http://www.drdobbs.com/blogs/cpp/232901591 Sometimes, the confluence of existing features can yield unexpected surprises. Mon, 07 May 2012 19:34:00 -0400 A Personal Note About Argument-Dependent Lookup http://www.drdobbs.com/blogs/cpp/232901443 One of the comments on my article last week noted that argument-dependent lookup in C++ is often called "Koenig lookup". I didn't invent it, but unfortunately, I don't know who did, so I don't know where the credit &mdash; or blame &mdash; is really due. Thu, 03 May 2012 19:24:00 -0400 Calling Constructors with Placement New http://www.drdobbs.com/cpp/232901023 Trying to create an object at a specific memory address highlights the peculiarities of C++ constructors Thu, 26 Apr 2012 06:55:00 -0400 Object Swapping, Part 7: How Do You Call It? http://www.drdobbs.com/blogs/cpp/232900925 We've talked about why swapping is important, and about how to use it to implement other operations such as assignment. We shall now look more closely at how to use it. Wed, 25 Apr 2012 06:13:00 -0400 The Humble Boolean Deserves Help http://www.drdobbs.com/architecture-and-design/232900836 The boolean data type rarely gets the attention it merits. As a result, it's stuck in a world of exactly two values, with little margin for safety. Tue, 24 Apr 2012 07:03:00 -0400 Object Swapping, Part 6: Exception Safety http://www.drdobbs.com/blogs/cpp/232900528 Swapping has an important role to play in making operations exception safe. Wed, 18 Apr 2012 10:41:00 -0400 Auto Types and Range-Based For Statements in C++11 http://www.drdobbs.com/blogs/cpp/232900460 Two really handy features in C++11 are the <i>range-based for statement</i> and the <i>auto type specifier</i>. Tue, 17 Apr 2012 10:41:00 -0400 Developer's Reading List http://www.drdobbs.com/tools/232900463 C++ concurrency, web crawlers, Google testing, and more: This month's reading list is packed with great books on interesting topics. Tue, 17 Apr 2012 08:34:00 -0400 Benchmarking Block-Swapping Algorithms http://www.drdobbs.com/parallel/232900395 Algorithms for swapping blocks of data appear simple, but vary widely in their performance profiles. Choosing the right one can be crucial to good performance. Mon, 16 Apr 2012 17:21:00 -0400 Penultimate USB http://www.drdobbs.com/blogs/embedded-systems/232900306 The last several weeks, I've been talking about building a USB device using a Microchip PIC 18F2550. Fri, 13 Apr 2012 12:59:00 -0400 Object Swapping, Part 5: A Fine Point About Overloading http://www.drdobbs.com/blogs/cpp/232900202 Last week, a sharp-eyed reader pointed out a subtle pitfall in the code that I presented. Thu, 12 Apr 2012 06:10:00 -0400 C Finally Gets A New Standard http://www.drdobbs.com/cpp/232800444 Tom Plum explores the new additions to C in a series of articles, starting with language-level atomic operations and thread primitives. Sun, 08 Apr 2012 11:23:00 -0400 Object Swapping Part 4: How Class Operations Relate http://www.drdobbs.com/blogs/cpp/232800406 The fundamental operations that a class offers to its users are construction, destruction, copying, and assignment. Thu, 05 Apr 2012 19:20:00 -0400 Object Swapping, Part 3: Swapping and Moving http://www.drdobbs.com/blogs/cpp/232700458 I would like to continue this series by discussing the notion of moving, rather than copying, values. Wed, 28 Mar 2012 19:43:00 -0400 Uniform Function Call Syntax http://www.drdobbs.com/blogs/cpp/232700394 I have become more and more convinced that the key to code reusability and scalability is encapsulation &mdash; having subsystems communicate through small, well-defined interfaces and letting them hide their own implementation details. Wed, 28 Mar 2012 06:31:00 -0400 Eclipse Moves Into Clear View Of Orion http://www.drdobbs.com/web-development/232700358 Orion browser-based web application IDE with JavaScript and HTML Tue, 27 Mar 2012 12:31:00 -0400 A Simple Function for Formatting Currency http://www.drdobbs.com/cpp/232700238 Formatting currency is a nightmarishly difficult problem. Consider this correct value that would be used in India: 3,25,84,729.25 This function gives you fine-level control over currency formats and makes it simple to switch between dollars, shekels, rupees, and yen without writing separate routines. Mon, 26 Mar 2012 08:47:00 -0400 Waiting for One-Off Events with Futures http://www.drdobbs.com/cpp/232700082 The maintainer of the Boost Thread library explains the C++ language feature called<i> futures</i>, which enables threads to synchronize on the occurrence of specific events Thu, 22 Mar 2012 08:54:00 -0400