上下文
我正在编写一个函数,该函数使用仅在该主函数中需要的其他函数。该主函数的目的是制作某种可以调用所需函数的工具包。
示例
int a(int x) // make x = 10 in a recursive way and its purpose is limited
// to be used with function b
{
if (x == 10) return x;
else if(x<10) return a(x+1);
else return a(x-1);
}
int b(int x, int allow_b) // This is only an exemple, function b simply call function a if required.
{
if (allow_b == 1) return a(x);
else return x;
}
问题
由于函数“a”仅供“b”使用,是否应该在头文件中做一些特别的事情,或者只应在“a”被“b”使用的函数上进行注释?
这种方法有什么问题吗?
编辑
我的意思是应该在头文件中声明什么,我不是在谈论在头文件中编写函数“a”和“b”。
最佳答案
如果函数a
仅由b
使用,那么我认为不需要在任何头文件中声明它。
将两个函数放在同一个翻译单元中,并使用static
链接声明和定义函数a
,作为附加约束,这将阻止其他函数访问它翻译单元。
由于各种逻辑原因,这两个函数可能必须位于不同的翻译单元中,这需要在头文件中声明 a
。在这种情况下,唯一能做的就是对此进行评论和记录。您还可以考虑为 a
单独设置一个单独的命名空间,以强调这一点。
关于c++ - 头文件中的一个函数使用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39111406/