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 General Articles
C++ Tutorial: 10 New STL Algorithms That Will Make You A More Productive Developer
Unquestionably, the most effective tool for a C++ programmer's productivity is the Standard library's rich collection of algorithms. In 2008, about 20 new algorithms were voted into the C++0x draft standard. These new algorithms let you among the rest copy n elements intuitively, perform set theory operations, and handle partitions conveniently. Find out how to use these algorithms to make your code more efficient and intuitive.
Classification Of Point In Polygon
Classify a point respect to a plane polygon that can be concave (i.e. with some angle grater than 180 degrees). Good performance, excellent stability.
Linear Search based algorithm for Mth Lexicographic ordering of Mathematical Permutation and Combina
Algorithms to compute the M-th lexicographic ordering of a permutation or combination and the inverse problem of the rank of a given permutation or sequence.
Tip: An Optimized Formula for Alpha Blending Pixels
Discover how to optimize by simplifying the formula.
Making a Class Schedule Using a Genetic Algorithm
Learn how to make a class schedule by using a genetic algorithm.
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...

Working with Hashtables in .NET
There are millions of Namespaces in the .NET Framework. Coming from a VB 6 background, I was accustomed to arrays and arrays only. Luckily all has changed with .NET, in that the .NET Framework supports Collections, which as its name implies, is a collection of objects that you can store in a certain manner.
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.