c++内存示例23未初化复制,默认构造
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++内存示例23未初化复制,默认构造相关的知识,希望对你有一定的参考价值。
对 (; 第一 != 上个; ++d第一, (空) ++第一)
::新 (静转<空*>(的地址(*d第一)))
型名 步特征<前向步>::值类型(*第一);
元<类 入步, 类 前向步>
前向步 未初化复制(入步 第一, 入步 上个, 前向步 d第一)
{
又 型名 步特征<前向步>::值类型 值;
前向步 当前 = d第一;
试 {
对 (; 第一 != 上个; ++第一, (空) ++当前) {
::新 (静转<空*>(的地址(*当前))) 值(*第一);
}
中 当前;
} 抓 (...) {
对 (; d第一 != 当前; ++d第一) {
d第一->~值();
}
抛;
}
}
#包含 <io流>
#包含 <内存>
#包含 <c标准库>
#包含 <串>
整 主()
{
常 符 *v[] = {"本", "是", "an", "例子"};
动 sz = 大小(v);
如(空 *p缓冲 = 对齐分配(对齐(串), 的大小(串) * sz))
{
试
{
动 第一 = 静转<串*>(p缓冲);
动 上个 = 标::未初化复制(开始(v), 尾(v), 第一);
对 (动 它 = 第一; 它 != 上个; ++它)
输出 << *它 << '_';
消灭(第一, 上个);
}
抓(...) {}
释放(p缓冲);
}
}
这是个例子_
对 (; 第一 != 上个; ++第一)
::新 (静转<空*>(的地址(*第一)))
型名 步特征<前向步>::值类型;
元<类 前向步>
空 未初化默认构造(前向步 第一, 前向步 上个)
{
用 值 = 型名 步特征<前向步>::值类型;
前向步 当前 = 第一;
试 {
对 (; 当前 != 上个; ++当前) {
::新 (静转<空*>(的地址(*当前))) 值;
}
} 抓 (...) {
消灭(第一, 当前);
抛;
}
}
以上是关于c++内存示例23未初化复制,默认构造的主要内容,如果未能解决你的问题,请参考以下文章
如果我们在 C++ 中重载构造函数,默认构造函数是不是仍然存在? [复制]
C++ 中类的默认成员函数的问题(构造函数、析构函数、运算符 =、复制构造函数)(默认 ctor、dtor、复制 ctor)