在下面的代码中,我想将缓冲区对齐到64字节边界
#include <vector>
#include <iostream>
int main()
{
using Buffer = alignas(64) std::vector<char>;
Buffer buffer;
buffer.push_back('a');
buffer.push_back('b');
buffer.push_back('c');
for (auto& i : buffer)
std::cout << i << "\n";
}
我编译代码时,收到以下警告。
warning: ignoring attributes applied to class type ‘std::vector<char>’ outside of definition [-Wattributes]
using Buffer = alignas(64) std::vector<char>;
^~~~~~~~~~~~
我在这里做错了什么?如何定义与64字节边界对齐的向量?
编辑:我想对齐向量拥有的基础数据。使用std :: vector时是否可以将其与64字节边界对齐?