c++内存示例05默认删,消灭

Posted 周三石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++内存示例05默认删,消灭相关的知识,希望对你有一定的参考价值。

#包含 <内存>
#包含 <向量>
#包含 <算法>

()
{
// {
// 共针<整> 共享坏(新 整[10]);
// } // 析构函数调用 删 ,未定义行为

{
共针<> 共享好([10], 标::默认删<[]>
());
} // 析构函数调用 删[] , 好

{
独针<>((5));
} // 独针<整> 使用 默认删<整>

{
独针<[]>([10]);
} // 独针<整[]> 使用 默认删<整[]>

// 默认删 能用于需要删除用函数对象的任何场所
向量<*> v;
( n = 0; n < 100; ++n)
v.压后((n));
每一(v.开始(), v.尾(), 标::默认删<>());
}
< T>
常式 消灭在(T* p)
{
常式 (是数组值<T>)
( &元素 : *p)
消灭在(的地址(元素));

p->~T();
}
// C++17 版本:
// 元<类 T> 空 消灭在(T* p) { p->~T(); }
#包含 <内存>
#包含 <新>
#包含 <io流>

跟踪器 {
;
~跟踪器() { 输出 <<<< " 析构\n"; }
};

()
{
对齐为(跟踪器) 缓冲[的大小(跟踪器) * 8];

( i = 0; i < 8; ++i)
(缓冲 + 的大小(跟踪器) * i) 跟踪器{i}; // 手工构造对象

= 加载器(重转<跟踪器*>(缓冲));

( i = 0; i < 8; ++i)
::消灭在(+ i);
}
0 析构
1 析构
2 析构
3 析构
4 析构
5 析构
6 析构
7 析构


以上是关于c++内存示例05默认删,消灭的主要内容,如果未能解决你的问题,请参考以下文章

c++内存示例23未初化复制,默认构造

c++内存示例002分配器,假定对齐,对齐分配

c++内存示例29独针

c++内存示例004realloc,释放,对齐分配

未使用的默认成员初始化器如何改变 C++ 中的程序行为?

C++ —— 函数默认参数