Prefix vs. Postfix Increment and Decrement Operators in C++
Here is how most programmers new to C-based languages are taught to write for a loop:
for (int i = 0; i < someValue; i++) {
// Do something
}
Unfortunately this starts programmers off on the wrong foot by teaching them the bad habit of using i++ (postfix increment) as the default way to increment a value. Using ++i (prefix increment) would work just as well since the result of the increment expression is not used by the containing expression (the for loop). Here is the equivalent code using ++i1:
for (int i = 0; i < someValue; ++i) {
// Do something
}
It’s preferable to use prefix increment when the result of the increment is not used by the containing expression. To see why, let’s first take a look at what the compiler generates when it encounters i++ and ++i.
Read more >>
Reference vs. pointer parameters in C++
Reference and Pointer Parameters
A question that often arises when working with C++ is whether it’s better to use references or pointers for function parameters. Both types of parameters provide the ability for a function to indirectly access an object in the calling environment. This indirect access provides several benefits:
- The object referred/pointed to by the argument does not need to be copied in order for the function to have access to that object’s value
- The function can directly modify the object referred/pointed to by the argument
- The function can take parameters of types that do not allow copying
Generating Software Diagrams
Introduction
In this post I’m going to describe how to automatically generate diagrams from source code. I’ve found that diagrams provide the quickest path to understanding how a piece of software works. Diagrams also provide a great means to discuss software at a high level. They’ve proven invaluable in the software development and software consulting work I’ve done.
Often diagrams are created by hand. Unfortunately hand-crafted diagrams are prone to manual mistakes and falling out-of-sync as the source code changes. Many IDE’s can automatically generate diagrams from source code on the fly, but sometimes your IDE doesn’t provide the diagrams or options you want. Being able to generate your own diagrams will give you the ability to create exactly what you need when you need it. Read more >>
Recent Posts
- iOS Unit Testing With OCMock
- Why Stakeholders Need To Be Involved In Scrum
- NuGet Config File Transformation Causes Duplicate Entries On Update
- Load Testing with Locust on Windows
- Writing A Custom LINQ Provider With Re-linq
- AutoMapper Profile Organization
- Rails 3.2: A Nested-Form Demo Part 4: Switch to Targeting Computer!
- SharpRepository: Configuration
- Rails 3.2: A Nested-Form Demo, Part 3: We’re Starting Our Attack Run!
- Rails 3.2: A Nested-Form Demo, Part 2: Accelerate to Attack Speed!
- Rails 3.2: A Nested-Form Demo, Part 1: All Wings Report In!
- iOS Behind the Curve
- Distributed Transaction Coordinators, Port 135, and Firewalls – Oh My!
- SharpRepository: Getting Started
- Find Performance Problems Using JMeter, MySQL and Xdebug/Webgrind
- Taming Hot Key Context Shifting When Running A Windows VM In Virtualbox On OSX
- Integrating Twitter’s Bootstrap Into Your Project
- Mobile payments, tags and more using NFC
- Stress Pig
- Dear Client Services, What Works?
- What Would Steve Do?
- Still Using Fiddler to Test & Debug Your REST Services?
- Write-through and Generational Caching Make a Great Team
- Thinking Recursively
- Development Incentives, What’s the Payoff?
- How do you like them Apples?
- “Optional” Software Development Practices Series — Code Review
- Adding Images to Select Lists in MVC3
- “Optional” Software Development Practices Series
- You Get What You Pay For…
- Outsourcing Safety Tips
- Facebook IPO
- The Ballad of Tim Toady
- The Little Schemer
- Newsflash: Mom leaves tech job at 5p.m.
- Flashback!
- I <negative_emotion> Windows 8!
- Prefix vs. Postfix Increment and Decrement Operators in C++
- Corporate videos: viral boon or epic fail?
- Recruitin’ Time!
- Reference vs. pointer parameters in C++
- The IE8 "hover" Bug: The Most Awesome IE Bug Ever?
- When is perfect perfect enough?
- SOPA/PIPA: Anti-Censorship Protest or Techies Revenge?
- A Decade of Fairway
- Handling Session Timeout Gracefully
- Generating Software Diagrams
- The Audacity of Nope
- The Origins of Culture
- Scrum Overview in Prezi – not another boring slideshow
- Numbers don’t lie: LinkedIn Statistics
- What is your favorite software development tool?
- Best Practices for Selecting Onshore, Nearshore or Offshore Information Technology Outsourcing (ITO) Providers
- Sign of the Times
- Advantages and Risks of Offshoring, Nearshoring or Onshoring
- Does Outsourcing Mean Offshoring?
- Too little, too late?
- New Favorite Lunch Spot
- Why should I care about functions as first-class citizens?
- PHP Remote Debugging with XDebug and NetBeans
- Installing SubText with Web PI
- ROI Primer
- Learn Domain-Driven Design
- Learn Behavior-Driven Development
- Mario Kart Tournament
- F# in 90 Seconds
- Website Vulnerabilities
- Scrum Overview
- Language Club
- Top 12 Favorite Podcasts Ever…
- Fairway Dart Tournament
- Learn Lean Software Development and Kanban Systems
- Android – Eclipse Quick Start
- Learn Functional Programming
- Backup & Restore Strategy
- Smartphone Screens – Another Wireless Variable
- Wireless Application Market
- Head First AOP





