Checked and Unchecked Access of a Vector : vector access « vector « C++ Tutorial

Home
C++ Tutorial
1.Language Basics
2.Data Types
3.Operators statements
4.Array
5.Development
6.Exceptions
7.Function
8.Structure
9.Class
10.Operator Overloading
11.Pointer
12.File Stream
13.template
14.STL Introduction
15.string
16.vector
17.list
18.bitset
19.set multiset
20.valarray
21.queue stack
22.deque
23.map multimap
24.STL Algorithms Modifying sequence operations
25.STL Algorithms Non modifying sequence operations
26.STL Algorithms Binary search
27.STL Algorithms Sorting
28.STL Algorithms Merge
29.STL Algorithms Min Max
30.STL Algorithms Iterator
31.STL Algorithms Heap
32.STL Algorithms Helper
C / ANSI-C
C Tutorial
C++
Visual C++ .NET
C++ Tutorial » vector » vector access 
16.25.3.Checked and Unchecked Access of a Vector
#include <iostream>
#include <vector>

using namespace std;

// comment next line out when debugging
#define NDEBUG

class Ship
{
   public:
   Shipconst float cargo_weight[]int length );

   float operator[]( int index const;
   // REQUIRE: 0 <= index < cargo_loads()
   // RETURN: weight of load with specified index

   int cargo_loads() const;
      private:
      vector<float> weight_;
   };

   inline
   Ship::Shipconst float weight[]int length )
      : weight_weight, weight+length )
   {} // empty

   inline
   float Ship::operator[]( int index const
   {
   #ifdef NDEBUG
      return weight_[index]// don't check range when not debugging
   #else
      return weight_.atindex )// check range when debugging
   #endif
   }

   inline
   int Ship::cargo_loads() const
   return static_cast<int>weight_.size() )}

   int main( )
   {
      const int num_loads = 3;
      const float weights[num_loads40.8f35.2f22.1f };

      // make a ship and load it with cargo
      Ship shipweights, num_loads );

   }
16.25.vector access
16.25.1.Random access of a vector
16.25.2.the use of the subscripting operator
16.25.3.Checked and Unchecked Access of a Vector
16.25.4.access field for vector
16.25.5.Bidirectional random access iterators
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.