list:sort()后丢失数据!帮忙查找下有关问题原因
list::sort()后丢失数据!帮忙查找下问题原因
使用了一个list <CString> 读取四万个字符串,在使用 sort()排序后丢失了前32766=2^15 个数据.请问到底是什么原因?
用的是VC6.0.
------解决方案--------------------
丢失是什么含义?list的size变小了?list里的数据重复了?
换list <string> 再试一下。
------解决方案--------------------
用了CString 为什么不用MFC的CList
用list 可以用string
这样比较统一,你说呢?
------解决方案--------------------
把你的代码贴出来看看
------解决方案--------------------
CString 的 operator < 不知道有没有问题
你用std::string 试试看
------解决方案--------------------
我在VS6.0和VS2005里都做过测试,同样代码在VS2005里没有错误,估计是编译器的标准问题,何程序本身无关,估计是VS6里支持最大就是2^15,我试过了,在2^15以下大小sort()是没有任何问题的,超过了2^15就会出错,所以肯定是编译器标准问题.
使用了一个list <CString> 读取四万个字符串,在使用 sort()排序后丢失了前32766=2^15 个数据.请问到底是什么原因?
用的是VC6.0.
------解决方案--------------------
丢失是什么含义?list的size变小了?list里的数据重复了?
换list <string> 再试一下。
------解决方案--------------------
用了CString 为什么不用MFC的CList
用list 可以用string
这样比较统一,你说呢?
------解决方案--------------------
把你的代码贴出来看看
------解决方案--------------------
CString 的 operator < 不知道有没有问题
你用std::string 试试看
------解决方案--------------------
我在VS6.0和VS2005里都做过测试,同样代码在VS2005里没有错误,估计是编译器的标准问题,何程序本身无关,估计是VS6里支持最大就是2^15,我试过了,在2^15以下大小sort()是没有任何问题的,超过了2^15就会出错,所以肯定是编译器标准问题.