c++内存示例07允许从本共享

Posted 周三石

tags:

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

#包含 <内存>
#包含 <io流>

:::允许从本共享<> // 注意:继承
{
共针<> 取针() {
从本共享();
}
};


{
// 错误写法:用不安全的表达式试图获得 本 的 共针 对象
共针<> 取针() {
共针<>();
}
~坏() { 输出 << "坏::~坏() 调用\n"; }
};

()
{
// 正确的示例:两个 共针 对象将会共享同一对象
共针<> gp1 = 造共<>();
共针<> gp2 = gp1->取针();
输出 << "gp2.用计数() = " << gp2.用计数() << '\n';

// 错误的使用示例:调用 从本共享 但其没有被 共针 占有
{
好 不很好;
共针<> gp1 = 不很好.取针();
} (坏弱针& e) {
// C++17 前为未定义行为; C++17 起抛出 坏弱针 异常
输出 << e.什么() << '\n';
}

// 错误的示例,每个 共针 都认为自己是对象仅有的所有者
共针<> bp1 = 造共<>();
共针<> bp2 = bp1->取针();
输出 << "bp2.用计数() = " << bp2.用计数() << '\n';
} // UB : 坏 对象将会被删除两次
gp2.用计数() = 2
坏弱针
bp2.用计数() = 1
坏::~坏() 调用
坏::~坏() 调用
*** g库c 检查 *** ./测试: 双精 释放 或 崩溃


本人的csdn博客:https://blog.csdn.net/fqbqrr

让我们每天都进步一点.











以上是关于c++内存示例07允许从本共享的主要内容,如果未能解决你的问题,请参考以下文章

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

C ++多进程共享内存实现

Linux 内核 内存管理内存管理系统调用 ⑤ ( 代码示例 | 多进程共享 mmap 内存映射示例 )

Symbian 的共享内存示例

Windows共享内存示例

PHP共享内存