|
3
|
| Cedric H. · 技术社区 · 16 年前 |
|
1
3
这完全取决于执行情况。
大多数运行时确实会在返回内存之前存储内存大小(
除了分配的内存大小之外,new[]还将存储实例数,以便它知道要调用多少析构函数。这通常超出内存管理器的范围,通常由C++运行时/编译器本身处理。但是,实例的存储位置取决于编译器,尽管在实践中我希望它存储在返回内存之前(以及内存管理器存储的任何数据之后)。
运行此命令将产生以下输出(在Visual Studio 2005上):
在第二种情况下,这些字节被省略,我们看到与第一种情况相同的模式(12,0,47,8)。我不知道VisualC++在哪里存储了分配的字节数,但是它证明了元素的数量确实存储在返回的指针之前(在VisualStudio 2005中)。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |