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_Tutorial%2Fvector%2Fvector_access</id>
		<title>C++ Tutorial/vector/vector access - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Fvector%2Fvector_access"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/vector_access&amp;action=history"/>
		<updated>2026-04-10T20:29:57Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/vector_access&amp;diff=2217&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_Tutorial/vector/vector_access&amp;diff=2217&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</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_Tutorial/vector/vector_access&amp;diff=2218&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_Tutorial/vector/vector_access&amp;diff=2218&amp;oldid=prev"/>
				<updated>2010-05-25T10:29:10Z</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;==access field for vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  vector&amp;lt;string&amp;gt; stringVector(10, &amp;quot;hello&amp;quot;);&lt;br /&gt;
  for (vector&amp;lt;string&amp;gt;::iterator it = stringVector.begin();it != stringVector.end(); ++it) {&lt;br /&gt;
    it-&amp;gt;append(&amp;quot; there&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bidirectional random access iterators==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;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;
vector&amp;lt;double&amp;gt; makevector(int size){&lt;br /&gt;
  vector&amp;lt;double&amp;gt; result;&lt;br /&gt;
  for (int i=1; i&amp;lt;=size; i++) { &lt;br /&gt;
    result.push_back(double(i)); &lt;br /&gt;
  } &lt;br /&gt;
  return result; &lt;br /&gt;
} &lt;br /&gt;
void print(const vector&amp;lt;double&amp;gt;&amp;amp; l) &lt;br /&gt;
{&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of vector is: &amp;quot; &amp;lt;&amp;lt; l.size() &amp;lt;&amp;lt; endl; &lt;br /&gt;
  vector&amp;lt;double&amp;gt;::const_iterator i; &lt;br /&gt;
  for (i=l.begin(); i!=l.end(); i++) &lt;br /&gt;
  { &lt;br /&gt;
    cout &amp;lt;&amp;lt; (*i) &amp;lt;&amp;lt; &amp;quot; &amp;quot;; &lt;br /&gt;
  } &lt;br /&gt;
  cout &amp;lt;&amp;lt; endl; &lt;br /&gt;
} &lt;br /&gt;
int main() &lt;br /&gt;
{ &lt;br /&gt;
  vector&amp;lt;double&amp;gt; vector1=makevector(5); &lt;br /&gt;
  vector&amp;lt;double&amp;gt;::iterator bi; &lt;br /&gt;
  // Traverse random &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Traverse random&amp;quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
  bi=vector1.begin(); &lt;br /&gt;
  cout &amp;lt;&amp;lt; *bi &amp;lt;&amp;lt; &amp;quot; &amp;quot;;                // First element &lt;br /&gt;
  cout &amp;lt;&amp;lt; *(bi+=3) &amp;lt;&amp;lt; &amp;quot; &amp;quot;;     // 1+3 is 4th element &lt;br /&gt;
  cout &amp;lt;&amp;lt; *(bi-=1) &amp;lt;&amp;lt; &amp;quot; &amp;quot;;     // 4-1 is third element &lt;br /&gt;
  cout &amp;lt;&amp;lt; bi[-1] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;             // 3-1 is second element &lt;br /&gt;
  cout &amp;lt;&amp;lt; bi[1] &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;   // 3+1 is fourth element &lt;br /&gt;
  // Create bidirectional iterator &lt;br /&gt;
  vector&amp;lt;double&amp;gt;::reverse_iterator ri; &lt;br /&gt;
 &lt;br /&gt;
  // Traverse reverse random &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Traverse reverse random&amp;quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
  cout &amp;lt;&amp;lt; *ri &amp;lt;&amp;lt; &amp;quot; &amp;quot;;               // First element &lt;br /&gt;
  cout &amp;lt;&amp;lt; *(ri+=3) &amp;lt;&amp;lt; &amp;quot; &amp;quot;;        // 1+3 is 4th element &lt;br /&gt;
  cout &amp;lt;&amp;lt; *(ri-=1) &amp;lt;&amp;lt; &amp;quot; &amp;quot;;        // 4-1 is third element &lt;br /&gt;
  cout &amp;lt;&amp;lt; ri[-1] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;          // 3-1 is second element &lt;br /&gt;
  cout &amp;lt;&amp;lt; ri[1] &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;  // 3+1 is fourth element &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Checked and Unchecked Access of 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;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
// comment next line out when debugging&lt;br /&gt;
#define NDEBUG&lt;br /&gt;
class Ship&lt;br /&gt;
{&lt;br /&gt;
   public:&lt;br /&gt;
   Ship( const float cargo_weight[], int length );&lt;br /&gt;
   float operator[]( int index ) const;&lt;br /&gt;
   // REQUIRE: 0 &amp;lt;= index &amp;lt; cargo_loads()&lt;br /&gt;
   // RETURN: weight of load with specified index&lt;br /&gt;
   int cargo_loads() const;&lt;br /&gt;
      private:&lt;br /&gt;
      vector&amp;lt;float&amp;gt; weight_;&lt;br /&gt;
   };&lt;br /&gt;
   inline&lt;br /&gt;
   Ship::Ship( const float weight[], int length )&lt;br /&gt;
      : weight_( weight, weight+length )&lt;br /&gt;
   {} // empty&lt;br /&gt;
   inline&lt;br /&gt;
   float Ship::operator[]( int index ) const&lt;br /&gt;
   {&lt;br /&gt;
   #ifdef NDEBUG&lt;br /&gt;
      return weight_[index]; // don&amp;quot;t check range when not debugging&lt;br /&gt;
   #else&lt;br /&gt;
      return weight_.at( index ); // check range when debugging&lt;br /&gt;
   #endif&lt;br /&gt;
   }&lt;br /&gt;
   inline&lt;br /&gt;
   int Ship::cargo_loads() const&lt;br /&gt;
   { return static_cast&amp;lt;int&amp;gt;( weight_.size() ); }&lt;br /&gt;
   int main( )&lt;br /&gt;
   {&lt;br /&gt;
      const int num_loads = 3;&lt;br /&gt;
      const float weights[num_loads] = { 40.8f, 35.2f, 22.1f };&lt;br /&gt;
      // make a ship and load it with cargo&lt;br /&gt;
      Ship ship( weights, num_loads );&lt;br /&gt;
   }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Random access of 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;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;ctime&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    vector&amp;lt;int&amp;gt;::const_iterator iter;&lt;br /&gt;
    vector&amp;lt;int&amp;gt; scores;&lt;br /&gt;
    scores.push_back(1500);&lt;br /&gt;
    scores.push_back(3500);&lt;br /&gt;
    scores.push_back(7500);&lt;br /&gt;
    srand(time(0));&lt;br /&gt;
    random_shuffle(scores.begin(), scores.end());&lt;br /&gt;
    for (iter = scores.begin(); iter != scores.end(); ++iter)&lt;br /&gt;
        cout &amp;lt;&amp;lt; *iter &amp;lt;&amp;lt; endl;&lt;br /&gt;
    sort(scores.begin(), scores.end());&lt;br /&gt;
    for (iter = scores.begin(); iter != scores.end(); ++iter)&lt;br /&gt;
         cout &amp;lt;&amp;lt; *iter &amp;lt;&amp;lt; endl;&lt;br /&gt;
 return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==the use of the subscripting operator==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;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;
void show(const char *msg, vector&amp;lt;int&amp;gt; vect);&lt;br /&gt;
int main() {&lt;br /&gt;
  // Declare a vector that has an initial capacity of 10.&lt;br /&gt;
  vector&amp;lt;int&amp;gt; v(10);&lt;br /&gt;
  for(unsigned i=0; i &amp;lt; v.size(); ++i) v[i] = i*i;&lt;br /&gt;
  show(&amp;quot;Contents of v: &amp;quot;, v);&lt;br /&gt;
  // the use of the subscripting operator.&lt;br /&gt;
  int sum = 0;&lt;br /&gt;
  for(unsigned i=0; i &amp;lt; v.size(); ++i) sum += v[i];&lt;br /&gt;
  double avg = sum / v.size();&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;The average of the elements is &amp;quot; &amp;lt;&amp;lt; avg &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
// Display the contents of a vector&amp;lt;int&amp;gt;.&lt;br /&gt;
void show(const char *msg, vector&amp;lt;int&amp;gt; vect) {&lt;br /&gt;
  cout &amp;lt;&amp;lt; msg;&lt;br /&gt;
  for(unsigned i=0; i &amp;lt; vect.size(); ++i)&lt;br /&gt;
    cout &amp;lt;&amp;lt; vect[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>