C++11学习(1)——对齐方式

alignas

c++是能够面向内存编程的,这个与继承自c。有时候我们在写操作原始内存代码的时候,我们需要指定内存分配是时的对齐方式,c++11提供了相应的语法:alignas

	alignas(double) unsigned char c[1024];	//字符数组,但是却以double数据的形式对齐数据
	alginas(16) char d[100];	//以16字节对齐

可以看到alignas要求的对齐方式不一定是某种类型,也可以是字节数。


alignof

对应的C++11还提供了一个alignof操作符用以返回其参数(必须是某种类型)的对齐方式,比如:

<span style="white-space:pre">	</span>constexpr int n = alignof(int); //返回int的对齐方式,每个int数据占n个字节的内存
其实这一句还尚有不懂之处,还望指正或来日更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值