c++内存示例003calloc,malloc
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++内存示例003calloc,malloc相关的知识,希望对你有一定的参考价值。
对象 *p = 清零分配(0, 的大小(对象)); // &l双引号;零长度&r双引号;占位
...
当(1) {
p = 再分配(p, c * 的大小(对象)); // 重分配直至大小稳定
... // 可能更改 c 或打破循环的代码
}
#包含 <io流>
#包含 <c标准库>
整 主()
{
整* p1 = (整*)标::清零分配(4, 的大小(整)); // 分配并清零 4 个 整 的数组
整* p2 = (整*)标::清零分配(1, 的大小(整[4])); // 同上,直接指名数组类型
整* p3 = (整*)标::清零分配(4, 的大小 *p3); // 同上,不重复类型名
如(p2)
对(整 n=0; n<4; ++n) // 打印数组
输出 << "p2[" << n << "] == " << p2[n] << '\n';
释放(p1);
释放(p2);
释放(p3);
}
p2[0] == 0
p2[1] == 0
p2[2] == 0
p2[3] == 0
#包含 <io流>
#包含 <c标准库>
#包含 <串>
整 主()
{
// 为 4 个 串 的数组分配足够空间
如(动 p = (串*)标::分配(4 * 的大小(串)))
{
整 i = 0;
试
{
对(; i != 4; ++i) // 填充数组
新(p + i) 串(5, 'a' + i);
对(整 j = 0; j != 4; ++j) // 打印出来
输出 << "p[" << j << "] == " << p[j] << '\n';
}
抓(...) {}
对(; i != 0; --i) // 清理
p[i - 1].~基串();
释放(p);
}
}
p[0] == a5
p[1] == bbbbb
p[2] == c5
p[3] == ddddd
中 ::新 (常转<空*>(静转<常 易失 空*>(p)))
T(前向<实参>(实参)...);
以上是关于c++内存示例003calloc,malloc的主要内容,如果未能解决你的问题,请参考以下文章