确保使用该标头中的类型的标头包含stdint.h
的最佳方法是什么?
我能看到的替代方案是:
stdint.h
(危险,不是吗?)#ifndef _STDINT_H
并附带#error "stdint.h not included"
stdint.h
,或者使用评论,对话,文档或三者的混合(最后一个是优选的)。如果还有其他值得一提的选择,请随意这样做 - 我只是猜测我应该做些什么。
答案 0 :(得分:7)
如果您在标题中使用stdint.h
中的类型,那么 应该在该标题中包含stdint.h
。
通常首选包含头中最少量的文件以减少编译时间。因此,只要有可能,您应该在标头中转发声明类型。由于stdint.h
中的类型不能被前向声明(它们只是基本类型的typedef),因此除了在标题中包含stdint.h
之外别无选择。
答案 1 :(得分:0)
我的意见,如果你使用包含警卫,包括头文件中的头文件是可以的。
像
这样的东西# ifndef HEADER
# define HEADER
# include header.h
# endif