Mar*_*nix 14 c++ header-files precompiled-headers stdafx.h visual-studio
我有一个名为stdafx.h的头文件,当然这个是预编译的.我已经读过我应该将这些文件包含到我的.cpp文件中,但是随后会出现一些这样的语句.
我应该将stdafx添加到我的标题或我的cpp中吗?我认为将它放入标题是一种好习惯,但我似乎不得不把它放入标题中.
例:
stdafx包含freeglut.
我的类头文件的属性为GLenum.
我应该将stdafx包含在班级的.h中吗?
Bin*_*ier 25
stdafx.h应该是项目中每个cpp文件中的第一个包含.
因此,如果stdafx是cpp文件中的第一个include,那么当它遇到Cpp文件中的头文件时,编译器将拥有头文件所需的所有内容.
例如
你有A.cpp和啊啊
需要std:string.
你有B.cpp和Bh
Bh需要啊因此Bh也需要std :: string.
因为这是一个很好的做法,所以你输入#include <string>了stdafx.h.
您的构建失败,因为没有任何东西可以看到std :: string
现在将stafx.h作为A.cpp和B.cpp中的第一个包含.
当编译器命中A.cpp时,它会选择include for <string>,然后选择Ah,一切都很开心,因为我们知道std :: string是什么.
编译器现在命中B.cpp,它再次包括stdafx <string>,然后命中Bh,这会带来Ah,因为已经包含了std :: string,所以很高兴.
希望这可以帮助.
在stdafx.h中包含一些内容之前,先问自己这两个问题
如果对其中任何一个的回答是"否",则不包括它.
| 归档时间: |
|
| 查看次数: |
19187 次 |
| 最近记录: |