stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Chariton (JIRA)" <j...@apache.org>
Subject [jira] Created: (STDCXX-179) Inserting a Vector into a Vector Corrupts Vector Data
Date Fri, 12 May 2006 22:47:08 GMT
Inserting a Vector into a Vector Corrupts Vector Data
-----------------------------------------------------

         Key: STDCXX-179
         URL: http://issues.apache.org/jira/browse/STDCXX-179
     Project: C++ Standard Library
        Type: Bug

  Components: 23. Containers  
    Versions: 4.1.3    
 Environment: All operating systems
    Reporter: Craig Chariton
    Priority: Critical


There is an interesting problem that occurs with vectors.  Here is the sample code:

#include <iostream>   // for cout, endl
#include <vector>     // for vector

int main ()
{
  std::vector<int> a;
  a.push_back(1);
  a.push_back(2);
  a.push_back(3);
  a.push_back(4);

  std::vector<int> b;
  b.push_back(0);

  a.insert(a.begin(), b.begin(), b.end());

  for( std::vector<int>::iterator i = a.begin(); i != a.end(); ++i)
    std::cout << (*i) << ",";
    std::cout << std::endl;

   return 0;
}

The output is 0,2,3,1,2, instead of 0,1,2,3,4, .

I tried some other combinations as follows:
a = 1, b = 0  -  works, get 0,1
a = 1,2, b = 0  -  works, get 0,1,2
a = 1,2,3, b = 0  -  fails, get 0,2,1,2
a = 1,2,3, b = 0, 5  -  fails, get 0,5,3,2,3
a = 1,2, b = 0,5  -  works, get 0,5,1,2
a = 1,2,3,4, b = 0,5  -  works, get 0,5,1,2,3,4
a = 1,2,3,4,5, b = 0,5  -  fails, get 0,5,3,1,2,3,5



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message