template <typename _Tp>
struct FooStruct {
__attribute__((aligned(16))) _Tp bar[256];
};
template <typename _Tp> class FooClass {
private:
std::allocator<_Tp> alloc;
FooStruct* ptr;
public:
FooClass() { ptr = static_cast<FooStruct*>(alloc.allocate(256)); }
~FooClass() { alloc.deallocate(static_cast<_Tp*>(ptr), 256); }
};
Будет ли bar выровнен по 16?