通知
すべてクリア
Topic starter
2004年3月1日 3:48 PM
listのソートでlist::sort()を使っているのですが、
ソート前とソート後でlistのサイズが変わってしまいます(減っている)
これはメモリ不足からくる物なのでしょうか?
例えばこんな感じです。
#include <list>
#include <iostream>
using namespace std;
int main()
{
list<int> lst;
for(int i=0; i<200000; ++i) lst.push_back(i);
cout << lst.size() << endl;
lst.sort();
cout << lst.size() << endl;
return 0;
}
プログラムの出力:
200000
3392
環境はVC++6.0(SP5) + WinXP(SP1)です。
2004年3月1日 4:00 PM
dinkumwareのサイトにあるbug fixは行いましたか?
http://www.dinkumware.com/vc_fixes.html
200000 % 32768 == 3392ですから,これで解決するかもしれません。
Topic starter
2004年3月1日 4:34 PM
ありがとうございます。
直りました。
・・・けど、こういうのって最新のSPあてればOKかとずっと思っていました。
ひょっとしてこんなの常識だったのかな?
今まで知らずにlist::sortしてたと思うと怖いです。
こんな大切な事、せめて日本語でMSサイトにのせてくれていいと思うのですけど。
みなさん、ご存知なのでしょうか・・・?
Topic starter
2004年3月1日 4:34 PM
チェック忘れました、すみません。