c++内存示例001对齐,坏弱针

Posted 周三石

tags:

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

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

<大小型 N>
我的分配器
{
数据[N];
* p;
大小型 sz;
我的分配器() : p(数据), sz(N) {}
<型名 T>
T* 对齐分配(大小型 a = 对齐(T))
{
(::对齐(a, 的大小(T), p, sz))
{
T* 结果 = 重转<T*>(p);
p = (*)p + 的大小(T);
sz -= 的大小(T);
结果;
}
空针;
}
};

()
{
我的分配器<64> a;

// 分配一个 符
* p1 = a.对齐分配<>();
(p1)
*p1 = 'a';
输出 << "分配 a 符 在 " << (*)p1 << '\n';

// 分配一个 整
* p2 = a.对齐分配<>();
(p2)
*p2 = 1;
输出 << "分配 an 整 在 " << (*)p2 << '\n';

// 分配一个 整 ,对齐于 32 字节边界
* p3 = a.对齐分配<>(32);
(p3)
*p3 = 2;
输出 << "分配 an 整 在 " << (*)p3 << " (32 字节 对齐)\n";
}
分配 a 符 在 0x2ff21a08
分配 an 整 在 0x2ff21a0c
分配 an 整 在 0x2ff21a20 (32 字节 对齐)
#包含 <内存>
#包含 <io流>
()
{
共针<> p1((42));
弱针<> wp(p1);
p1.重置();
{
共针<> p2(wp);
} (::坏弱针& e) {
输出 << e.什么() << '\n';
}
}
坏弱针


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

让我们每天都进步一点.


以上是关于c++内存示例001对齐,坏弱针的主要内容,如果未能解决你的问题,请参考以下文章

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

在 C++ 中声明、操作和访问未对齐的内存 [关闭]

001:对齐输出

关于C++的内存对齐

内存对齐详解 (C++代码)

C++ 类内存模型和对齐