正如标题所述,我需要一些方法来断言类型已使用对齐方式声明:
struct alignas(16) MyStruct {
...
};它用于模板参数,其中模板类需要确保模板的类型是16字节对齐的。
发布于 2019-12-20 06:41:39
您可以使用alignof来确保您获得的文字与正确的大小对齐。您可以在函数中使用它,如下所示
template <typename T>
void foo(const T& bar)
{
static_assert(alignof(T) == 16, "T must have an alignment of 16");
// rest of function
}如果在类中使用它,您将拥有
template <typename T>
class foo
{
static_assert(alignof(T) == 16, "T must have an alignment of 16");
// rest of class
};https://stackoverflow.com/questions/59417726
复制相似问题