c++ - 在哪里放置 2 个文件的辅助函数?

标签 c++

我有 4 个文件:f.h、f.cpp、g.h、g.cpp。 f.h 和 f.cpp 都包含 g.h,但是 f.cpp 和 g.cpp 有一个共同的辅助函数(注意 f.h 不需要它,但它需要 g 中的定义)。 目前我在 g.h 中有独立的辅助函数(因此 g.cpp 和 f.cpp 都包含它)。然而,这让我害怕,因为: 1.谁包含了f.h就可以自由使用(意思是封装) 2.如果他有一个与自由函数同名的函数,它将无法编译

我真的很希望有一个没有代码重复的解决方案(它不是一个很大的辅助函数,只有几行。这是原则:P)。

最佳答案

创建g_f_private.h。在其中添加仅由 f.cppg.cpp 使用的所有辅助类/函数/声明。

#nclude 它在 f.cppg.cpp 中。

不要将其暴露给 f.hg.h 的用户。

关于c++ - 在哪里放置 2 个文件的辅助函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37222608/

相关文章:

c++ - Eclipse 索引不起作用

android - 如何设置数组中jbyte的值

c++ - 使用pcl transformcloud将3d点平移并旋转到原点

c++ - 如何为具有指针 vector 的类创建复制函数?

c++ - 如何在一行中读取具有多个定界符的文件

c++ - 共享库: Undefined Reference with Partial Template Specialization and Explicit Template Instantiation

c++ - 为模板化函数定义特定情况 (C++)

c++ - std::vector 和 move 语义

c++ - VirtualLock 真的按照它说的做吗?

c++ - Redis 中的消息包