1
8
您将看到Windows上的内存使用量大约是它的1到2倍。除了堆算法,Windows
对代码的快速检查表明,映射键和值类型应分别为4和8字节(
我要补充的是,对于那些不熟悉内存使用方式的人,有几个因素在起作用:
|
2
7
每个编译器都有自己的STL实现,因此您要比较:
在这里很难进行有意义的比较,因为您不知道哪个分配例程或STL实现(或者可能两者都是)实际上是负责的。 我想您并不是在比较32位程序和64位程序,因为这甚至没有意义。 |
3
6
某些版本的VC++在发布版本中也使用检查迭代器(ySeCurysSCL)。 VC2005 和 VC2008 默认情况下打开它们。 by default 根据编译器的不同,这可能是另一件要检查(并关闭)的事情。 |
4
0
在windows下是以发布模式还是调试模式执行测试?调试模式下的STL做了很多额外的检查;也许它还使用了更多的内存来执行所有的检查。 |
5
0
用于VC++尝试使用/GS命令行切换。 |
6
0
确保应用程序使用“new”或“malloc”或任何其他内存分配库调用分配的内存是使用“delete”或“free”或任何等效的库调用释放的。
|
Julia · 矢量中相加为总和S的值的数量 1 年前 |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
quantumwell · 将空向量放入std::map() 6 年前 |
OutOfBound · 对未初始化内存使用算法的优点 6 年前 |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 6 年前 |