定义没有语句的函数的目的是什么? 我有一个C ++文件,其中包含一个没有语句定义的函数列表,并且它们不会在脚本中的任何其他位置使用。这是否意味着它们是在其他文件中定义的?
答案 0 :(得分:4)
定义没有语句的函数的目的是什么?
这句话毫无意义。但我怀疑你指的是函数声明语句,它们也不包含所述函数的定义(或实现)。
void foo(); // Declaration (may be used as long as definition is linked)
这是否意味着它们是在其他文件中定义的?
而且,是的,通常可以在其他翻译单元中找到定义,链接以创建最终的可执行文件。
void foo() { // Defining declaration (or just "definition")
/* ... */
}
应在your C++ book中详细解释典型的C ++构建过程。
答案 1 :(得分:1)
你所拥有的是功能定义 可能这些只是在开发过程中实施的存根。
清除声明和定义之间的歧义:
功能声明:
void doSomething();
功能定义:
void doSomething()
{
}
通常,函数声明位于Header(.h或.hpp)文件中,而定义位于源(.cpp)文件中。
该函数的声明充当函数用户的接口,它们包含标题,以便它们可以使用该函数。
请注意,函数原型及其声明已确定&在设计阶段期间修复,而实际功能实现在开发阶段完成。
在并行开发项目中,通常多个团队将处理需要在他们自己之间交换数据的不同功能,一旦设计阶段结束,这些团队之间交换接口,然后两个团队并行工作以开发他们自己的功能,在这个开发阶段,有时为了避免链接错误,空白函数定义被用作项目中的存根。