title: Map, pair-vector or two vectors...?
body: <p>I read through some posts and "wikis" but still cannot decide what approach is suitable for my problem.</p>
  
  <p>I create a class called <code>Sample</code> which contains a certain number of compounds (lets say this is another class <code>Nuclide</code>) at a certain relative quantity (double).</p>
  
  <p>Thus, something like (pseudo):</p>
  
  <pre><code>class Sample {
      map&lt;Nuclide, double&gt;;
  }
  </code></pre>
  
  <p>If I had the nuclides <code>Ba-133</code>, <code>Co-60</code> and <code>Cs-137</code> in the sample, I would have to use exactly those names in code to access those nuclides in the map. However, the only thing I need to do, is to iterate through the map to perform calculations (which nuclides they are is of no interest), thus, I will use a for- loop. I want to iterate without paying any attention to the key-names, thus, I would need to use an iterator for the map, am I right?</p>
  
  <p>An alternative would be a <code>vector&lt;pair&lt;Nuclide, double&gt; &gt;</code></p>
  
  <pre><code>class Sample {
      vector&lt;pair&lt;Nuclide, double&gt; &gt;;
  }
  </code></pre>
  
  <p>or simply two independent vectors</p>
  
  <pre><code>Class Sample {
      vector&lt;Nuclide&gt;;
      vector&lt;double&gt;;
  }
  </code></pre>
  
  <p>while in the last option the link between a nuclide and its quantity would be "meta-information", given by the position in the respective vector only.</p>
  
  <p>Due to my lack of profound experience, I'd ask kindly for suggestions of what approach to choose. I want to have the iteration through all available compounds to be fast and easy and at the same time keep the logical structure of the corresponding keys and values.</p>
  
  <p>PS.: It's possible that the number of compunds in a sample is very low (1 to 5)!
  PPS.: Could the last option be modified by some <code>const</code> statements to prevent changes and thus keep the correct order?</p>