listの個数の挙動
listlist1(26, 'x'); cout << list1.size() << endl; merge(&s[0], &s[5], deque1.begin(), deque1.begin()+10, list1.begin()); cout << list1.size() << endl; while(!list1.empty()) { cout << list1.front() << endl; //a\nb\n....xxxxxxxx list1.pop_front(); } }
と、
cout << list1.size() << endl;
merge(&s[0], &s[5], deque1.begin(), deque1.begin()+10, list1.begin());
cout << list1.size() << endl;
for(int i = 0; i < list1.size(); i++) {
cout << list1.front() << endl; //abcdefghijlno 13個出力で終了
list1.pop_front();
}
は違うんだぜ.
二つ目のはsize()がループするごとにどんどん可変的に減っていくので、ちょうど半分で出力が止まってしまうのです.