如果有一个源文件source.cpp
,我该如何生成相应的头文件source.hpp
?
我使用的是64位Linux系统,希望避免手动编写头文件以减少编程时间并限制可能出现的错误。
从源文件自动生成适当的头文件是不可能的,因为没有对什么是“适当的头文件”的正式定义。特别是,从源文件提取声明的工具无法知道声明是否应该是私有的(只在一个翻译单元中使用)还是应该被多个翻译单元共享。在第一种情况下,头文件中的声明会被认为是不合适的。
static
修饰符进行惯用标注,不是吗?这意味着,为了适当性,假设这样注释的声明确实是“私有的”就足够了,而那些没有[被注释]的则被暗示为“公共的”。是否有理由将这样的公共对象与链接产品相关联和嵌入其中,同时通过隐藏它们对应的声明来在编译期间禁止使用它们? - Armen Michaeli
foo()
函数返回一个布尔值,那么我不希望在我的头文件中看到int foo()
这样的代码……就是这样。 - user2485710main()
调用foo()
,则只需将foo()
源代码放在.cpp
文件中的main()
之前即可。对于类也是同样的道理,因为所有的代码都可以写在.h
文件中——虽然这并不是一个好的实践方式。 - user152949