- Item 9: Never call virtual functions during construction or destruction
- May 12, 2005
- If you've come to C++ from another programming language like C# or Java, it may seem counterintuitive to avoid calling virtual functions during construction or deconstruction, but in C++, doing this will cause unexpected results and endless headaches.
|
- Iterating Through Containers in C++, with Some Help from Boost's Lambda Library and Friends
- 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.
|
- Jargon from the World of Technology Consulting
- Aug 13, 2009
- Aaron Erickson breaks through barriers by sharing some of the secret (and not-so-secret) jargon that he has encountered in technology consulting.
|
- Learn C the Hard Way: Dust Off That Compiler
- Sep 22, 2015
- In this chapter from Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C), Zed Shaw has you write a small but extensive C program to confirm that your compiler works.
|
- Learn C the Hard Way: Using Makefiles to Build
- Sep 23, 2015
- In this excerpt from Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C), Zed A. Shaw uses a program called make to simplify building exercise code. You'll learn just enough Makefile syntax to get started.
|
- Legacy IT Management using C++
- Apr 29, 2005
- Devices and software have to be kept running, and (even more difficult) users have to be kept happy. Is it hard to get on top of your legacy network? Stephen Morris tells you why it's not too hard to fashion C++ tools to help automate some of the more knotty problems.
|
- Leveraging Key Development Principles to Achieve Software Engineering Best Practices
- Jun 16, 2006
- This chapter provides a summary of the Unified Process lifecycle, OpenUP/Basic, and RUP and explains how they fit together in the family of Unified Process methods built on EPF and RMC. This chapter also summarizes Scrum and XP, because we have chosen to focus on these methods as part of the "comparison with other methods" section in each practice.
|
- Localizing Functionality with Lambda Expressions
- Apr 10, 2012
- Lambda expressions are compact function-like blocks of code that serve as predicates, initializers, and in event-driven apps. Lambdas rid you of the tedium of writing boilerplate code; you only have to code the actual functionality. In addition, they're efficient and secure. No wonder they're so popular in functional programming these days.
|
- Looking Forward to Objective-C Literals
- Jun 11, 2012
- In this article you'll discover what enhanced literals are, how you use them, and why they'll help your day-to-day development. Bestselling author Erica Sadun introduces all the basics you need to get started.
|
- Managing Dependencies Between Source Files
- Nov 10, 2006
- Alan Ezust and Paul Ezust introduce the features of the C preprocessor. They also explain forward class declarations versus including header files, discuss some best practices to reduce dependencies between header files, and explain the difference between strong and weak dependencies.
|
- Manipulating C++ Graph Data Structures with the Boost Graph Library
- Dec 1, 2006
- Quickly becoming a de facto standard C++ library, the Boost library includes a powerful graph data structure that's also easy to use. Jeff Cogswell discusses some interesting theory behind graphs, and explains the Boost library's graph structures.
|
- Mastering the Android Development Tools
- Jul 2, 2010
- This chapter walks through a number of the most important development tools available for Android to help you develop applications faster and with fewer roadblocks.
|
- Memory Hygiene in C and C++ Part 3: Safe Programming with Risky Data
- Apr 9, 2004
- If it's a good idea to learn proper memory management skills, as Cameron Laird has suggested in his ongoing series, then you'll need to gain skill at using the tools that help you do so. In this article, you'll learn how to use a free memory debugging utility, and find out how easily it can help you solve memory problems.
|
- Memory Hygiene in C and C++: Safe Programming with Risky Data
- Feb 6, 2004
- Memory management is scary. It should be: A lot can go wrong—often very wrong. But a moderately experienced C or C++ programmer can learn and understand memory hazards completely. Once you have that knowledge, you should feel only confidence, not fear.
|
- Migrating C/C++ from 32-Bit to 64-Bit
- May 11, 2015
- A major driver of modern C/C++ development is the need for producing native 64-bit code. In most cases, servers and desktop systems are now almost exclusively 64-bit machines. Given this fact, isn't the move to 64-bit C/C++ code just a matter of changing a few build settings? Stephen B. Morris explains why it's not so simple.
|
- More Effective C++ at 30 (Printings)
- Dec 3, 2012
- Scott Meyers reflects on the often troublesome process of writing More Effective C++: 35 New Ways to Improve Your Programs and Designs on the occasion of its thirtieth printing.
|
- Move Semantics in C++11, Part 1: A New Way of Thinking About Objects
- Jul 2, 2012
- Not every resource transfer is a copy operation. In many programming tasks, the resource only moves from one object to another, emptying the source object in the process. The semantics and formal properties of these 'move semantics' are a new C++11 paradigm to make code more efficient and simulate real-world situations more accurately, as Danny Kalev explains in this two-part series.
|
- Move Semantics in C++11, Part 2: Design and Implementation of Special Move Functions
- Jul 9, 2012
- Move semantics in C++11 can improve your code's performance dramatically. Danny Kalev concludes this series with a close look at the design and implementation of move-enabled code. Find out what the state of a moved-from object should be, and learn the guidelines for writing move constructors and move assignment operators.
|
- Moving C++ and Java Programmers Up the Value Chain
- Nov 2, 2007
- Stephen Morris explains how we can all benefit from moving up the value chain.
|
- Moving from Java to C++: An Interview with Rogers Cadenhead
- May 31, 2011
- In this interview, co-author of Sams Teach Yourself C++ in 24 Hours, 5th Edition Rogers Cadenhead discusses moving from Java to C++, what brought him to C++, and the best tactics for learning C++.
|