大家来讨论一下关于VC中对STL的支持的问题
之前提过一个关于VC中调用标准库的min函数的问题:
(详细请参考主题:关于VC中调用标准库的min函数的问题 )
//-------------------------------------------------------------------
#include "stdafx.h"
#include <algorithm>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int i=min(1,2); // 编译时说 error C2065: 'min' : undeclared identifier
}
明明在BCB下面是没有问题的啊,为什么VC下面就不行
//-------------------------------------------------------------------
自己搞了老半天也是摸不着头脑,后来重新装回msdn2001,才发现问题最终所在,由于VC的WINDEF.H里面也有min和max函数,为了避免冲突,STL里面的min和max函数用_MIN和_MAX代替了,这个是VC里面一种折中的办法。PS:原来用msdn2002,一直查不到关于这个问题。
借此抛砖引玉,大家来讨论一下学习开发中遇到的VC中对STL的支持的问题!参与的都有分数!
问题点数:100、回复次数:4Top
1 楼rivershan(阿门)回复于 2002-10-13 11:16:01 得分 10
它对STL支持一般~
DevC++对STL支持最好了~Top
2 楼approach()回复于 2002-10-13 11:21:50 得分 45
http://jjhou.csdn.net/myan-stlport.htmTop
3 楼approach()回复于 2002-10-13 11:38:55 得分 45
再补充一点:
ms得stl不是ms官方得东东
是一个牛人自己写的
ms官方好像也不支持这东西
这个是从网上找的介绍:
译者注:以目前的STL版本来看,最出色的无疑是SGI*STL和IBM STL for AS/390,所有
Windows下的的STL实现都不令人满意。根据测试数据,Windows下最好的STL运行在PIII
500MHz上的速度远远落后与在250MHz SGI工作站(IRIX操作系统)上运行的SGI*STL。
以我个人经验,Linux也是运行STL的极佳平台。而在Windows的STL实现中,又以Borland
C++Builder的Rogue Wave STL为最差,其效率甚至低于JIT执行方式下的Java2。Visual
C++中的STL是著名大师P. J. Plauger的个人作品,性能较好,但其queue组件效率很差,
慎用
饮水思源Top
4 楼djkevin(拓海)回复于 2002-10-13 23:49:28 得分 0
看来windows下面对STL的实现还是不怎么样啊,download了STLport4.5.3在VC中配置了一下,在Win2k下面配置很麻烦的,http://jjhou.csdn.net/myan-stlport.htm上面的方法在win2k下面不好用,弄了半天才弄好,有空我会写个功略上来Top




