我是C ++的新手(知道一些python但不流利)并且正在从参考文档中学习。
#include <iostream>
#include <stdalign.h>
using namespace std;
int main(){
alignof; //error:'alignof' not declared in this scope
}
我添加了stalign标题,但我仍然遇到同样的错误。我也试过std :: algnment_of,但仍然是同样的问题。
我正在使用Dev-C ++编译器。
编辑:我只是在试验,同时学习数据结构对齐。
答案 0 :(得分:1)
您没有以正确的方式使用alignof
。
#include <iostream>
int main(){
std:: cout<< sizeof(int) << ' ' << alignof(int) << '\n'; //This is how to use it.
return 0;
}
典型输出:
4 4
尺寸和对齐方式因平台而异,但在现代平台上通常需要sizeof(int)==alignof(int)
称为“完全对齐”(或只是最佳性能)。
编辑:有人指出你不需要#include <cstdalign>
来使用alignof
,但另一点仍然存在。 #include <stdalign.h>
不是导入C标准库的推荐方法,您应该使用c-prefix模型#include <cstdalign>
。