The Wayback Machine - https://web.archive.org/web/20110921092706/http://www.codeguru.com:80/cpp/misc/

    Miscellaneous

    How to Make Fewer Errors at the Code Writing Stage, Part 1

    Using examples of defects found in Miranda IM, Andrey Karpov will formulate some recommendations that will help you to avoid many errors and misprints at the code writing stage.

    Rubix Cube

    This program presents an original way of the famous Rubik's Cube by an assembly of 27 multi-colored cubies isolated in the space. Even during its deformations, it allows a 3D vision of the cube thanks to the basic MFC graphic functions. This simulation can also rapidly calculate a solution to reordering the Cube.

    C++ Tutorial: The Do's and Don'ts of Accessing One Element Past the End of an Array

    A buffer overflow is the result of writing to an element that is outside the boundaries of an array. And yet, certain algorithms need to access the address of one element past the end of an array, albeit with a few important restrictions. Here's the why and how.

    MFC: Controlling Notepad From C++ Applications

    Discover how to start and control a third party GUI application, particularly the Notepad text editor, from your own C++ applications.

    C++ Programming: A Better Vector Trim Algorithm With Move Semantics

    Vectors are one of the single most useful and most used objects in the STL. They are easy to use, and remove the burden of memory management from the user. It is possible to partially control memory usage by using functions like reserve, but nothing is provided to free up excess memory. Users have come up with ways to trim a vector by hand, but with the advent of the new C++0x and its move semantics, the classic solution of copy-swaping has become excessively expensive. This article seeks to find a better solution.

    An Interview with C++ Creator Bjarne Stroustrup

    Bjarne Stroustrup talks about the imminent C++0x standard and the forthcoming features it brings, the difficulties of standardizing programming languages in general, the calculated risks that the standards committee can afford to take with new features, and even his own New Year's resolutions.

    Introducing the Windows Kernel Transaction Manager, Transactional NTFS and Transactional Registry

    Read along as Marc Gregoire provides a brief overview of TxF and TxR to give you an idea of what you can accomplish with it.

    C++ Tutorial: Use std::tuple To Simulate Compact Heterogeneous Containers

    Std::tuple is a compact, fixed size container that packs a variable number of elements of different types. This property makes tuples useful in simulating multiple return types for a function, assigning and comparing multiple values simultaneously and abstracting complex data structures.

    C++ Programming: Understanding Standard C++ Library Additions in Visual C++ 2010

    For every true C++ developer, the Standard C++ Library is the first choice for utility classes, collections and algorithms to streamline the development effort. Continuing on from the investment in core C++ programming improvements in Visual C++ 2008, Visual C++ 2010 introduces improvements in the Standard C++ Library related to C++ 0x, and this article focuses on advancements in Standard C++ collections and algorithms.

    Improve Microsoft Visual C++ Application Security and Robustness with SafeInt

    In this age of cloud computing, massive parallel systems and complex security threats like identity theft and decentralized botnets, devoting resources to combat the seemingly age-old issue of integer overflow appears distinctly passC). Despite the fact that integer overflow is such a well know problem, particularly within C and C++ programming, the problem remains a real issue from both a defect and security standpoint, that's why the introduction of the SafeInt template class in Visual C++ 2010 to address overflows is a great addition.

    Simplify Visual C++ Application Deployment with Manifest Files

    Application manifest files provide a declarative means for an application to detail its dependencies and runtime requirements. Each version of Windows and Visual C++ adds further options that can be specified in the application manifest file, and it is important for correct application deployment and execution that the Visual C++ developer keeps up to date with these advances.

    C++ Programming: Memory Mapped Files using RAII

    Learn how to use helper classes for interprocess communication with memory mapped files in C++ on Windows.

    C++ Programming: CRT Concurrency Runtime: Resource Manager

    The Concurrency Runtime simplifies parallel programming and helps you write robust, scalable, and responsive parallel applications. Come along as we explore the Resource Manager layer of this framework.

    C++ Programming: Implementation of the Licensing System For a Software Product

    This article is devoted to the development of the key licensing system for the applications. In the theoretical part of the article, we will examine the cryptography methods, which can be used while implementing the licensing system. Also we will discuss all pros and cons of these methods and select the possible ones for using in the application. In the practical part of the article, we will provide the implementation of the simplest licensing system, which guaranties the protection from cracking even if a hacker knows the source code of an algorithm.

    C++ Programming: False Sharing in Multi-threaded Programming, and a Glance at the C++0x std::thread

    The article gives an example of false-sharing in multi-threading programming using C++0x std::thread.

    Reduce Repetitive Initialization Code in C++ Applications by Using Delegating Constructors

    You're often required to repeat identical pieces of initialization code in every constructor of a class that declares multiple constructors. That's because unlike a few other programming languages, The C++ programming language doesn't allow a constructor to call another constructor of the same class. Luckily, this problem is about to disappear with the recent approval of a new C++0x feature called delegating constructors which are explained in this C++ tutorial.

    Microsoft Updates Power Tools for Microsoft Visual Studio

    Microsoft rolls out an update to its Productivity Power Tools, a set of extensions to Microsoft Visual Studio 2010 designed to make developers' lives easier.

    Simplex Optimization Algorithm and Implemetation in C++ Programming

    The article introduces the simplex algorithm, provides a useful C++ function to optimize target function parameters, and shows rich examples, figures, flowcharts. source code is also attached with the article.

    An Efficient Pointer Wrapper in C++ for Scientific Computation

    This article introduces a simple wrapper template.

    C++ Tutorial: Pointer-to-Member Function

    Botao Jia discusses the grammar of the C++ Pointer-to-Member Function, common applications and under-the-hood implementations.

    Windows Mobile: Working with FakeGPS

    If you're building Windows Mobile apps FakeGPS could be the answer to your troubleshooting worries. Learn how to test your GPS applications using FakeGPS.

    Adding Windows 7 Jump Lists to Visual C++ Applications

    Jump Lists provide a simple and convenient way for users to open documents and perform common tasks, and Windows 7 provides basic support for Jump Lists with no explicit application development. C++ developers can improve their applications by using the MFC class CJumpList to provide custom jump list items for easier application interaction.

    Determine Windows Version and Edition

    Learn about a comprehensive method of getting the Windows version and differentiate among the various editions.

    Using C++0x Lambda Expressions in Microsoft Visual Studio

    In this C++ tutorial, learn how to utilize Lambda expressions in your C++ Applications.

    Improve Exception Safety In Your C++ Applications by Annotating Functions That Don't Throw Exceptions

    Your compiler assumes by default that almost every function might throw an exception. As a result, it might generate suboptimal code. C++0x now lets you explicitly annotate functions that never throw with the [[nothrow]] attribute. Find out how to use this attribute to write efficient and self-documenting code.

    Comparing PVS-Studio (VivaMP) and Intel C/C++ ("Parallel Lint")

    An unsuccessful attempt to compare PVS-Studio (VivaMP) and Intel C/C++ ("Parallel Lint")

    Rapid UI Prototyping with Microsoft Expression Blend 3

    In today's environment prototyping your UI can be paramount. This article will show users how to use the Microsoft Expression Blend 3 prototyping tool and discuss the differences between static, interactive and convertible prototypes.

    Microsoft 'Hotfixes' Office 2003 Rights Glitch

    The software giant moves quickly to address a problem impacting older, rights-managed documents.

    Forbidding the Clipboard for the specified process

    Though the Clipboard is one of the fundamental parts of the Windows operating system, there is little information about how it works, especially in the low level. In this article, I'm going to tell you something about the Clipboard internals by showing how you can forbid access to it.

    Installing SQL Server 2008

    Need your server and your site up and running quick? Let Greg Larsen show you what you need to know to get SQL Server running and configured.

    Building Windows Azure Cloud Service Applications with Azure Storage and the Azure SDK

    Learn how to use Windows Azure and Azure Storage to store, retrieve and update information in Table storage, pass work between multiple cloud service roles using Queue storage and use the Azure SDK StorageClient project to speed up Azure Storage development.

    Writing a basic Windows Debugger - Part 1

    Demonstrates the basics of writing a Windows Debugger.

    Keystroke monitoring

    In this article we will consider the methods of hooking keyboard data in the kernel mode. The described approaches can be used for solving the tasks of keystroke analysis, blocking and also redefining some combinations.

    The Practical Guide to Multithreading - Part 1

    Understand from this guide how and when - as well as when not - to use multithreading.

    Template Metaprogramming and Puzzle 15 Optimal Solution

    Read about a sample demonstrating how to accelerate finding an optimal Puzzle 15 solution using C++ Template Metaprogramming. It presents an implementation of the IDA* search algorithm.

    Build Build Resilient Applications with Windows Recovery and Restart Applications

    Even the best-written C++ applications can crash or hang-and end-users' perceptions of the application hinge on how gracefully the application works with the operating system to handle such problems. By registering your applications with Windows Application Recovery and Restart, they can recover gracefully after errors occur.

    Modeling for System Integration

    System Integration that was one of the least considered areas in IT is now receiving a lot of attention. Learn about the types of integration and as well as about formats and modeling.

    A Personal Virtual Keyboard for (nearly) Every Keyboard

    Generate multiple (on-screen)Virtual Keyboards to include into your portable application via a DLL, so that your users can take theirlanguage/keyboard with them on their travels, even if the PC they use does not have their home keyboard installed.

    Parallel Lint

    Understand the new direction in development of static code analyzers - verification of parallel programs. The article reviews several static analyzers which can claim to be called "Parallel Lint".

    State Management : Native Parallel Programming for Visual C++

    Visual C++ 2010 includes a number of new features for preventing data inconsistencies due to simultaneous updates of memory locations - a key challenge in parallel development.

    Visual Modeling of Complex Reactive Systems

    Check out this commercial-grade cross-platform Harel UML StateChart open-source application framework named StateWizard for concurrent, distributed, and real-time reactive system development with simplicity, efficiency, and scalability.

    Introduction to DirectWrite

    DirectWrite is a new API to render text on Windows 7 / Vista. It makes it easy to render paragraphs of text that can contain different formatting, coloring, fonts etc. It supports horizontal and vertical alignments, even vertical centering of a paragraph with multiple lines which was not possible with the old text API, etc. This article will give an introduction to the new DirectWrite API.

    VIDEO: Using Stored Procedures in Entity Framework

    By Dan Rigsby -
    Working with Custom Stored Procedures in Entity Framework.

    Native Parallel Programming for Visual C++ with the Parallel Processing Library

    Visual C++ 10.0's new Parallel Pattern Library supplies methods to execute multiple processing tasks, across available processing resources, eliminating the headache of manually allocating task execution.

    Per Thread Singleton

    How to write per thread singleton instance to avoid thread contention.

    Seven Steps of Migrating a Program to a 64-bit System

    The article describes the main steps which should be performed to correctly port 32-bit Windows applications on 64-bit Windows systems. Although the article is meant for developers using C/C++ in Visual Studio 2005/2008 environment, it will be also useful for other developers who plan to port their applications on 64-bit systems.

    C++ Lambda Function - Making Coding Easier

    Visual C++ 2010 with many of the new C++ 0x language features including Lambdas. Discover how lambda functions make C++ code easier to read and maintain, and explore the various techniques for writing them ships.

    Raw Input Device informations

    Discover how to retrieve information on your computer's devices including the mouse, keyboard, and other peripherals attached to the system.

    BLOG: Which Is More Mature: C++ or C#?

    C++ is older, but is it more mature?

    A Multidevice ASIO Output Plugin for WinAMP

    Explore a C++ replacement of the official ASIO SDK that supports multiple ASIO devices put to the test in a tiny WinAMP output DLL.