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.
Latest Memory Articles
Intelligent Memory Buffer Class on Non-MFC(SDK) Platforms
Check out this stand-alone, intelligent "increasing buffer" class. It's useful for a Win32 SDK project without using MFC.
Application-Level Memory Management for Memory-Constrained Devices
Discover a faster and better dynamic memory allocation technique for real-time systems.
Copy Constructors and Assignment Operators
Copying constructors and assignment operators is easy—once you learn the rules, and you can learn those rules right here.
Fast, Efficient Allocator for Small Blocks of Memory
Learn about an approach to allocate small blocks of memory quickly and efficiently.
Enhance Your Dynamic Memory Allocation with an Undocumented MFC Class
Learn to employ a small utility class that allows you to modify how objects for a given class are dynamically allocated.
Latest Developer Videos
More...Latest CodeGuru Developer Columns
MFC Integration with the Windows Transactional File System (TxF)
The Transactional File System (TxF), which allows access to an NTFS file system to be conducted in a transacted manner through extensions to the Windows SDK API. MFC 10, has been extended to support TxF and related technologies. This support allows existing MFC applications to be easily extended to support kernel transactions.
.NET Framework: Collections and Generics
The original release of the .NET Framework included collections as .NET was introduced to the Microsoft programming world. The .NET Framework 2.0 introduced generics to complement the System.Collections namespace and provide a more efficient and well performing option. Read on to learn more...

Adding Sizzle to a Video Slot Game with VB.NET
The final installment of our Slot Game series shows you how to build in a way to win or lose. We will also add some effects for when a win takes place.
Implementing a WCF Message Contract
WCF implementations normally take two different approaches; a Document style or an API style. Document style implementations are more flexible and often easier to extend and version. Also, Document style or rather, Message Contract service implementations, work well between systems with a shared message assembly. Jeffrey Juday guides you through architecting a WCF Message Contract implementation.