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

Comparing the stdio and iostream C++ Libraries
It's essential to know the differences in these libraries and use them correctly. This brief tutorial will guide you.

.NET Back to Basics: The String Class
Take the plunge into the string class and master it.

Developer Careers for the VB Programmer
Learn about the various types of software development there are as well the job titles that go along with them.
Influencing Users: Compliance and Conformity
Learn about two common influence techniques, compliance and conformity, as well as how to design for them.