[ http://issues.apache.org/jira/browse/STDCXX-179?page=all ]
Martin Sebor reopened STDCXX-179:
---------------------------------
The fix is not correct -- see this post:
http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200605.mbox/%3c4468CE6B.1080202@roguewave.com%3e
> std::vector::insert(iterator, ForwardIterator, ForwardIterator) inserts wrong 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.
> Reporter: Craig Chariton
> Assignee: Martin Sebor
> Priority: Critical
> Fix For: 4.1.4
>
> 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
|