gpt4 book ai didi

c++ - 多个小仿函数类的共享头文件?

转载 作者:太空狗 更新时间:2023-10-29 21:22:51 26 4
gpt4 key购买 nike

我是一名新程序员,我遇到过这样一种情况,我需要创建一些(2-4)个与我的其他类密切相关的小型仿函数类。主要类称为 GraphicsRenderer,它本质上是 OpenGL 的包装器,将所有 OpenGL API 调用完全封装在一个编译单元中。因为所有仿函数的存在只是为了支持 GraphicsRenderer 类,所以我正在考虑声明它们在 GraphicsRenderer.h 头文件中..

我知道“规则”通常是每个头文件只有一个类声明..那么我应该在哪里声明仿函数..?

  • 为每个仿函数类制作单独的 .h 和 .cpp 文件? (所有这些都必须包含 API 调用..)

  • 在与 GraphicsRenderer 类相同的文件中声明/定义所有仿函数类? (这将所有 API 调用保留在相同的编译单元中。)

  • 或者这是命名空间的好地方吗?嵌套类声明(即:在 GraphicsRenderer 类声明中声明 deleter 仿函数)怎么样?

最佳答案

除了拥有更少的文件之外,将每个类保存在单独的 .h/.cpp 文件中不会造成太多损失。我建议每个文件都有一个类。

话虽如此,您仍然可以将头文件组合成一个包含所有其他 .h 文件的通用头文件,这将使 API 用户更加方便。假设您的 GraphicsRenderer 仅适用于仿函数,您甚至可以将它们的 .h 文件包含到 GraphicsRenderer'h 头文件中。

对于命名空间,不同的团队有不同的约定。我更喜欢仅使用 namespace 来防止 API 冲突——我通常为大面积的内聚 API 保留一个 namespace 。我见过其他团队几乎每个类都有一个命名空间。

关于c++ - 多个小仿函数类的共享头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19782807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com