[C/C++11]_[初级]_[简单介绍C++11对地址对齐的特性]

本文介绍了C++11中关于地址对齐的特性,包括alignas说明符、alignof操作符、std::align函数和std::aligned_storage类模板。通过这些工具,可以在编译和运行时实现变量的对齐,特别是在使用原子操作时显得尤为重要。VS2010对这些特性的支持有限。
摘要由CSDN通过智能技术生成

场景

1.在使用一些相关原子操作的函数或指令时, 一般都需要对操作的变量地址进行对齐, 4,8,16…字节对齐.

2.在没有引入C++11的alignas指示符之前, 一般都是使用

__declspec(align(4)) int i; // Windows  
alignas(4) int j; // C++

或定义一些存储空间进行计算转换, 参考数据地址对齐. 不同的是前者是编译时刻计算出地址,后者是运行时刻计算出内存对齐地址; 麻烦的是VS2010 并不是完整支持C++11对齐特性.

说明

1.C++11 引入了很多地址对齐相关的操作符, 函数, 模板。

alignas 说明符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peter(阿斯拉达)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值