A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FVector%2Fvector</id>
		<title>C++/Vector/vector - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FVector%2Fvector"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Vector/vector&amp;action=history"/>
		<updated>2026-04-17T00:59:06Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Vector/vector&amp;diff=1683&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Vector/vector&amp;diff=1683&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Vector/vector&amp;diff=1684&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Vector/vector&amp;diff=1684&amp;oldid=prev"/>
				<updated>2010-05-25T10:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add class to a vector and then delete them one by one==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass {&lt;br /&gt;
};&lt;br /&gt;
int main( ) {&lt;br /&gt;
   vector&amp;lt;MyClass*&amp;gt; vec;&lt;br /&gt;
   MyClass* p = NULL;&lt;br /&gt;
   for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
      p = new MyClass( );&lt;br /&gt;
      vec.push_back(p);&lt;br /&gt;
   }&lt;br /&gt;
   for (vector&amp;lt;MyClass*&amp;gt;::iterator pObj = vec.begin( );&lt;br /&gt;
        pObj != vec.end( ); ++pObj) {&lt;br /&gt;
      delete *pObj;&lt;br /&gt;
   }&lt;br /&gt;
   vec.clear( );&lt;br /&gt;
}&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Assign Items in int array to vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;numeric&amp;gt;  // for accumulate&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  int x[5] = {2, 3, 5, 7, 11};&lt;br /&gt;
  vector&amp;lt;int&amp;gt; vector1(&amp;amp;x[0], &amp;amp;x[5]);&lt;br /&gt;
  int sum = accumulate(vector1.begin(), vector1.end(), 0);&lt;br /&gt;
  cout &amp;lt;&amp;lt; sum &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
28&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Assign value to the last Item==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
/* The following code example is taken from the book&lt;br /&gt;
 * &amp;quot;The C++ Standard Library - A Tutorial and Reference&amp;quot;&lt;br /&gt;
 * by Nicolai M. Josuttis, Addison-Wesley, 1999&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright Nicolai M. Josuttis 1999.&lt;br /&gt;
 * Permission to copy, use, modify, sell and distribute this software&lt;br /&gt;
 * is granted provided this copyright notice appears in all copies.&lt;br /&gt;
 * This software is provided &amp;quot;as is&amp;quot; without express or implied&lt;br /&gt;
 * warranty, and with no claim as to its suitability for any purpose.&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    // create empty vector for strings&lt;br /&gt;
    vector&amp;lt;string&amp;gt; sentence;&lt;br /&gt;
    // reserve memory for five Items to avoid reallocation&lt;br /&gt;
    sentence.reserve(5);&lt;br /&gt;
    // append some Items&lt;br /&gt;
    sentence.push_back(&amp;quot;Hello,&amp;quot;);&lt;br /&gt;
    sentence.push_back(&amp;quot;how&amp;quot;);&lt;br /&gt;
    sentence.push_back(&amp;quot;are&amp;quot;);&lt;br /&gt;
    sentence.push_back(&amp;quot;you&amp;quot;);&lt;br /&gt;
    sentence.push_back(&amp;quot;?&amp;quot;);&lt;br /&gt;
    // assign &amp;quot;!&amp;quot; to the last Item&lt;br /&gt;
    sentence.back() = &amp;quot;!&amp;quot;;&lt;br /&gt;
    // print Items separated with spaces&lt;br /&gt;
    copy (sentence.begin(), sentence.end(),&lt;br /&gt;
          ostream_iterator&amp;lt;string&amp;gt;(cout,&amp;quot; &amp;quot;));&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
Hello, how are you !&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Computing an inner product of tuples represented as vectors==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  const long N = 600000; // Length of tuples x and y&lt;br /&gt;
  const long S = 10;     // Sparseness factor&lt;br /&gt;
  vector&amp;lt;double&amp;gt; x(N), y(N);&lt;br /&gt;
&lt;br /&gt;
  for (long k = 0; 3 * k * S &amp;lt; N; ++k)&lt;br /&gt;
    x[3 * k * S] = 1.0;&lt;br /&gt;
  for (long k = 0; 5 * k * S &amp;lt; N; ++k)&lt;br /&gt;
    y[5 * k * S] = 1.0;&lt;br /&gt;
  double sum = 0.0;&lt;br /&gt;
  for (long k = 0; k &amp;lt; N; ++k)&lt;br /&gt;
    sum += x[k] * y[k];&lt;br /&gt;
  cout &amp;lt;&amp;lt; sum &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
4000&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrating STL vector constructors with a user-defined type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass {&lt;br /&gt;
public:&lt;br /&gt;
  unsigned long id;&lt;br /&gt;
  MyClass() : id(0) { }&lt;br /&gt;
  MyClass(unsigned long x) : id(x) { }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
bool operator==(const MyClass&amp;amp; x, const MyClass&amp;amp; y) {&lt;br /&gt;
  return x.id == y.id;&lt;br /&gt;
}&lt;br /&gt;
bool operator!=(const MyClass&amp;amp; x, const MyClass&amp;amp; y)&lt;br /&gt;
{&lt;br /&gt;
  return x.id != y.id;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  vector&amp;lt;MyClass&amp;gt; vector1, vector2(3);&lt;br /&gt;
  assert (vector1.size() == 0);&lt;br /&gt;
  assert (vector2.size() == 3);&lt;br /&gt;
  assert (vector2[0] == MyClass() &amp;amp;&amp;amp; vector2[1] == MyClass() &amp;amp;&amp;amp;vector2[2] == MyClass());&lt;br /&gt;
  assert (vector2 == vector&amp;lt;MyClass&amp;gt;(3, MyClass()));&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrating STL vector constructors with a user-defined type  and showing copying explicitly==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass {&lt;br /&gt;
public:&lt;br /&gt;
  unsigned long id;&lt;br /&gt;
  unsigned long generation;&lt;br /&gt;
  static unsigned long total_copies;&lt;br /&gt;
  MyClass() : id(0), generation(0) { }&lt;br /&gt;
  MyClass(unsigned long n) : id(n), generation(0) { }&lt;br /&gt;
  MyClass(const MyClass&amp;amp; z) : id(z.id), generation(z.generation + 1) {&lt;br /&gt;
    ++total_copies;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
bool operator==(const MyClass&amp;amp; x, const MyClass&amp;amp; y)&lt;br /&gt;
{&lt;br /&gt;
  return x.id == y.id;&lt;br /&gt;
}&lt;br /&gt;
bool operator!=(const MyClass&amp;amp; x, const MyClass&amp;amp; y)&lt;br /&gt;
{&lt;br /&gt;
  return x.id != y.id;&lt;br /&gt;
}&lt;br /&gt;
unsigned long MyClass::total_copies = 0;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  vector&amp;lt;MyClass&amp;gt; vector1, vector2(3);&lt;br /&gt;
  assert (vector1.size() == 0);&lt;br /&gt;
  assert (vector2.size() == 3);&lt;br /&gt;
  assert (vector2[0] == MyClass() &amp;amp;&amp;amp; vector2[1] == MyClass() &amp;amp;&amp;amp;&lt;br /&gt;
          vector2[2] == MyClass());&lt;br /&gt;
  for (int i = 0; i != 3; ++i)&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;vector2[&amp;quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;].generation: &amp;quot; &amp;lt;&amp;lt; vector2[i].generation &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Total copies: &amp;quot; &amp;lt;&amp;lt; MyClass::total_copies &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
vector2[0].generation: 1&lt;br /&gt;
vector2[1].generation: 1&lt;br /&gt;
vector2[2].generation: 1&lt;br /&gt;
Total copies: 3&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrating STL vector copying constructors==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  char name[] = &amp;quot;abcedfghijklmn&amp;quot;;&lt;br /&gt;
  vector&amp;lt;char&amp;gt; myVector(name, name + 6);&lt;br /&gt;
  vector&amp;lt;char&amp;gt; myVector2(myVector); // Uses copy constructor&lt;br /&gt;
  assert (myVector2 == myVector);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrating the simplest STL vector constructors: duplicate chars==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  vector&amp;lt;char&amp;gt; vector2(3, &amp;quot;x&amp;quot;);&lt;br /&gt;
  assert (vector2.size() == 3);&lt;br /&gt;
  assert (vector2[0] == &amp;quot;x&amp;quot; &amp;amp;&amp;amp; vector2[1] == &amp;quot;x&amp;quot; &amp;amp;&amp;amp; vector2[2] == &amp;quot;x&amp;quot;);&lt;br /&gt;
  assert (vector2 == vector&amp;lt;char&amp;gt;(3, &amp;quot;x&amp;quot;));&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrating the simplest STL vector constructors: empty vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  vector&amp;lt;char&amp;gt; vector1;&lt;br /&gt;
  cout &amp;lt;&amp;lt; vector1.size();&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
0&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pass vector of integer to a function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;numeric&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;cmath&amp;gt;&lt;br /&gt;
#include &amp;lt;functional&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
double geometricMean(const vector&amp;lt;int&amp;gt;&amp;amp; nums)&lt;br /&gt;
{&lt;br /&gt;
  double mult = accumulate(nums.begin(), nums.end(), 1,multiplies&amp;lt;int&amp;gt;());&lt;br /&gt;
  return (pow(mult, 1.0 / nums.size()));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  plus&amp;lt;int&amp;gt; myPlus;&lt;br /&gt;
  int res = myPlus(4, 5);&lt;br /&gt;
  cout &amp;lt;&amp;lt; res &amp;lt;&amp;lt; endl;&lt;br /&gt;
  vector&amp;lt;int&amp;gt; myVector;&lt;br /&gt;
  int num;&lt;br /&gt;
  while (true) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter a test score to add (0 to stop): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; num;&lt;br /&gt;
    if (num == 0) {&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    myVector.push_back(num);&lt;br /&gt;
  }&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;The geometric mean is &amp;quot; &amp;lt;&amp;lt; geometricMean(myVector) &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return (0);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pass vector to a function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using std::cout;&lt;br /&gt;
using std::endl;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using std::vector;&lt;br /&gt;
template &amp;lt; typename T &amp;gt; void printVector( const vector&amp;lt; T &amp;gt; &amp;amp;integers2 );&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int array[ 6 ] = { 1, 2, 3, 4, 5, 6 }; // initialize array&lt;br /&gt;
   vector&amp;lt; int &amp;gt; integers; // create vector of ints&lt;br /&gt;
   integers.push_back( 2 );&lt;br /&gt;
   integers.push_back( 3 );&lt;br /&gt;
   integers.push_back( 4 );&lt;br /&gt;
   printVector( integers );&lt;br /&gt;
   cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
template &amp;lt; typename T &amp;gt; void printVector( const vector&amp;lt; T &amp;gt; &amp;amp;integers2 ){&lt;br /&gt;
   typename vector&amp;lt; T &amp;gt;::const_iterator constIterator;&lt;br /&gt;
   for ( constIterator = integers2.begin();&lt;br /&gt;
      constIterator != integers2.end(); ++constIterator )&lt;br /&gt;
      cout &amp;lt;&amp;lt; *constIterator &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
2 3 4&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Read keyboard input to a vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
/* The following code example is taken from the book&lt;br /&gt;
 * &amp;quot;The C++ Standard Library - A Tutorial and Reference&amp;quot;&lt;br /&gt;
 * by Nicolai M. Josuttis, Addison-Wesley, 1999&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright Nicolai M. Josuttis 1999.&lt;br /&gt;
 * Permission to copy, use, modify, sell and distribute this software&lt;br /&gt;
 * is granted provided this copyright notice appears in all copies.&lt;br /&gt;
 * This software is provided &amp;quot;as is&amp;quot; without express or implied&lt;br /&gt;
 * warranty, and with no claim as to its suitability for any purpose.&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    /* create a string vector&lt;br /&gt;
     * - initialized by all words from standard input&lt;br /&gt;
     */&lt;br /&gt;
    vector&amp;lt;string&amp;gt; coll((istream_iterator&amp;lt;string&amp;gt;(cin)),&lt;br /&gt;
                        istream_iterator&amp;lt;string&amp;gt;());&lt;br /&gt;
    // sort Items&lt;br /&gt;
    sort (coll.begin(), coll.end());&lt;br /&gt;
    // print all Items ignoring subsequent duplicates&lt;br /&gt;
    unique_copy (coll.begin(), coll.end(),&lt;br /&gt;
                 ostream_iterator&amp;lt;string&amp;gt;(cout, &amp;quot;\n&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
Terminate batch job (Y/N)? n&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements for Classes Used in Vectors==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
template &amp;lt;class T&amp;gt;&lt;br /&gt;
void print(T&amp;amp; c){&lt;br /&gt;
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){&lt;br /&gt;
      std::cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; endl;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class Item&lt;br /&gt;
{&lt;br /&gt;
   public:&lt;br /&gt;
   Item();&lt;br /&gt;
   ~Item();&lt;br /&gt;
   Item( const Item&amp;amp; );&lt;br /&gt;
   Item&amp;amp; operator=( const Item&amp;amp; );&lt;br /&gt;
   private:&lt;br /&gt;
   static int default_constructor_calls_;&lt;br /&gt;
   static int assignment_calls_;&lt;br /&gt;
   static int copy_constructor_calls_;&lt;br /&gt;
   static int destructor_calls_;&lt;br /&gt;
};&lt;br /&gt;
inline&lt;br /&gt;
Item::Item()&lt;br /&gt;
{ cout &amp;lt;&amp;lt; &amp;quot;\nCall &amp;quot; &amp;lt;&amp;lt; ++default_constructor_calls_&lt;br /&gt;
     &amp;lt;&amp;lt; &amp;quot; of default constructor&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
inline&lt;br /&gt;
Item::Item( const Item&amp;amp; )&lt;br /&gt;
{&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\nCall &amp;quot; &amp;lt;&amp;lt; ++copy_constructor_calls_&lt;br /&gt;
      &amp;lt;&amp;lt; &amp;quot; of copy constructor&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
inline&lt;br /&gt;
Item::~Item()&lt;br /&gt;
{  cout &amp;lt;&amp;lt; &amp;quot;\nCall &amp;quot; &amp;lt;&amp;lt; ++destructor_calls_ &amp;lt;&amp;lt; &amp;quot; of destructor&amp;quot;; }&lt;br /&gt;
inline&lt;br /&gt;
Item&amp;amp; Item::operator=( const Item&amp;amp; )&lt;br /&gt;
{&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\nCall &amp;quot; &amp;lt;&amp;lt; ++assignment_calls_&lt;br /&gt;
      &amp;lt;&amp;lt; &amp;quot; of assignment operator&amp;quot;;&lt;br /&gt;
   return *this;&lt;br /&gt;
}&lt;br /&gt;
int Item::default_constructor_calls_ = 0;&lt;br /&gt;
int Item::assignment_calls_ = 0;&lt;br /&gt;
int Item::copy_constructor_calls_ = 0;&lt;br /&gt;
int Item::destructor_calls_ = 0;&lt;br /&gt;
int main( )&lt;br /&gt;
{&lt;br /&gt;
   vector&amp;lt;Item&amp;gt; d( 2 );&lt;br /&gt;
 &lt;br /&gt;
   d.resize( d.capacity() );&lt;br /&gt;
   d.push_back( Item() );&lt;br /&gt;
   d.erase( d.begin() );&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Store a class object in a vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass {&lt;br /&gt;
  int value;&lt;br /&gt;
public:&lt;br /&gt;
  MyClass() { value = 0; }&lt;br /&gt;
  MyClass(int x) { value = x; }&lt;br /&gt;
  MyClass &amp;amp;operator=(int x) {&lt;br /&gt;
    value = x; return *this;&lt;br /&gt;
  }&lt;br /&gt;
  double get_value() { return value; }&lt;br /&gt;
};&lt;br /&gt;
bool operator&amp;lt;(MyClass a, MyClass b)&lt;br /&gt;
{&lt;br /&gt;
  return a.get_value() &amp;lt; b.get_value();&lt;br /&gt;
}&lt;br /&gt;
bool operator==(MyClass a, MyClass b)&lt;br /&gt;
{&lt;br /&gt;
  return a.get_value() == b.get_value();&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  vector&amp;lt;MyClass&amp;gt; v;&lt;br /&gt;
  for(int i=0; i&amp;lt;7; i++)&lt;br /&gt;
    v.push_back(MyClass(60 + rand()0));&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Farenheit valueeratures:\n&amp;quot;;&lt;br /&gt;
  for(int i=0; i&amp;lt;v.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; v[i].get_value() &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  for(int i=0; i&amp;lt;v.size(); i++)&lt;br /&gt;
    v[i] = (int) (v[i].get_value()-32) * 5/9 ;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Centigrade valueeratures:\n&amp;quot;;&lt;br /&gt;
  for(int i=0; i&amp;lt;v.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; v[i].get_value() &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
Farenheit valueeratures:&lt;br /&gt;
71 77 64 70 89 64 78&lt;br /&gt;
Centigrade valueeratures:&lt;br /&gt;
21 25 17 21 31 17 25 &lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use generic vector to create vector of chars==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;  // For find&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  char x[5] = {&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;f&amp;quot;};&lt;br /&gt;
  vector&amp;lt;char&amp;gt; vector1(&amp;amp;x[0], &amp;amp;x[5]);&lt;br /&gt;
  // Search for the first occurrence&lt;br /&gt;
  vector&amp;lt;char&amp;gt;::iterator where = find(vector1.begin(), vector1.end(), &amp;quot;b&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  cout &amp;lt;&amp;lt; *where  &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
b&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use generic vector to create vector of integers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;  // For find&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  int x[5] = {2, 4, 6, 8, 10};&lt;br /&gt;
  vector&amp;lt;int&amp;gt; vector1(&amp;amp;x[0], &amp;amp;x[5]);&lt;br /&gt;
  // Search for the first occurrence&lt;br /&gt;
  vector&amp;lt;int&amp;gt;::iterator where = find(vector1.begin(), vector1.end(), 4);&lt;br /&gt;
&lt;br /&gt;
  cout &amp;lt;&amp;lt; *where  &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
4&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use generic vector to create vector of strings==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
// Demonstrating the generic find algorithm with a vector&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cassert&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;  // For find&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  string x[5] = {&amp;quot;1234&amp;quot;, &amp;quot;2345&amp;quot;, &amp;quot;3456&amp;quot;, &amp;quot;4567&amp;quot;, &amp;quot;0987&amp;quot;};&lt;br /&gt;
  vector&amp;lt;string&amp;gt; vector1(&amp;amp;x[0], &amp;amp;x[5]);&lt;br /&gt;
  // Search for the first occurrence&lt;br /&gt;
  vector&amp;lt;string&amp;gt;::iterator where = find(vector1.begin(), vector1.end(), &amp;quot;1234&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  cout &amp;lt;&amp;lt; *where  &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
/* &lt;br /&gt;
1234&lt;br /&gt;
 */        &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use typedef to define new type based on vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
typedef vector &amp;lt;string&amp;gt; VECTOR_STRINGS;&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
    VECTOR_STRINGS v;&lt;br /&gt;
    v.push_back (&amp;quot;A&amp;quot;);&lt;br /&gt;
    v.push_back (&amp;quot;B&amp;quot;);&lt;br /&gt;
    v.push_back (&amp;quot;C&amp;quot;);&lt;br /&gt;
    v.push_back (&amp;quot;D&amp;quot;);&lt;br /&gt;
    // insert a duplicate into the vector&lt;br /&gt;
    v.push_back (&amp;quot;D&amp;quot;);&lt;br /&gt;
    for (size_t nItem = 0; nItem &amp;lt; v.size (); ++ nItem){&lt;br /&gt;
        cout &amp;lt;&amp;lt; &amp;quot;Name [&amp;quot; &amp;lt;&amp;lt; nItem &amp;lt;&amp;lt; &amp;quot;] = \&amp;quot;&amp;quot;;&lt;br /&gt;
        cout &amp;lt;&amp;lt; v [nItem] &amp;lt;&amp;lt; &amp;quot;\&amp;quot;&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>