可以在编译时或运行时检查std :: align的限制吗?

时间:2017-05-29 00:36:46

标签: c++ c++11 alignment language-lawyer memory-alignment

我想使用std::align 1 将用于存储的内存区域与特定的二次幂对齐对齐。

如果对齐值不是基本或扩展对齐值,这显然会调用UB。有没有办法在编译时检查(例如,static_assert)或在运行时检查是否支持我想要使用的值?

1 要明确的是,如果std::alignasstd::aligned_storage更灵活,或者允许我安全地检查支持的内容,我也会向<?php $items = array('zaid','zaid','ali','khan','khan','zaid','jhone','jhone'); foreach ($items as $item) { if ($item == 'zaid') { $colour = '#ddd'; } else if ($item == 'ali') { $colour = '#E55'; } else if ($item == 'khan') { $colour = '#099'; } else if ($item == 'jhone') { $colour = '#055'; } echo `<span style="background-color:$colour">$item</span>`; } ?> echo开放。

0 个答案:

没有答案