【发布时间】:2011-03-03 05:22:35
【问题描述】:
我引用 MSDN http://msdn.microsoft.com/en-us/library/aa366533(VS.85).aspx:
malloc 函数具有 运行时的缺点 依赖。新运营商拥有 编译器的缺点 依赖和语言依赖。
现在问题来了:
a) malloc 依赖于运行时是什么意思?什么样的动态内存分配函数可以独立于运行时?这种说法听起来真的很奇怪。
b) new 依赖于语言吗?当然应该是对的? HeapAlloc、LocalAlloc 等语言是否独立?
c) 从纯粹的性能角度来看,MSVC 提供的例程是否更可取?
阿潘
【问题讨论】:
-
用 cmets 评论他的回答,而不是在这里。
-
对我来说真的很晦涩;当然,在运行时完成的每个“真实”内存请求都是依赖于运行时的。 new 运算符当然是依赖于语言的......但是依赖于编译器?!如果我们谈论的是 C++,它是标准化的,我希望
new的行为不依赖于编译器;它如何实现其目的当然取决于编译器(但这也是一个无趣的细节),也取决于系统......(毕竟是 malloc)......
标签: c++ visual-studio visual-c++