有什么方法可以将内联函数的定义与声明放在不同的地方吗?

问题描述 投票:0回答:1

我正在为我未来的项目制作一个小型库,很多函数都很小,我相信它们必须内联。但问题是我有太多小的内联函数在标题中占用了太多空间。有没有办法将这些函数放在其他文件中而不出现任何错误?我希望我的头文件看起来干净且可读,就像一个方法列表,而不是一堆单行定义。

将内联函数的定义放在同一个文件中但在所有声明之后是标准做法吗?我应该这样做吗?

仅将函数定义放在 .cpp 文件中是行不通的,它会返回错误 LNK2019。

尝试将定义放在其他文件上并将其包含在标头中也不起作用,因为它会创建循环引用。

c++ function inline header-files
1个回答
1
投票

你绝对可以将一个头文件拆分成多个文件。您需要决定是否:

A.附加文件是单独的组件

  1. 用户将包含他们使用的所有组件标头
  2. 组件标头以
    #include
    -ing 公共标头开始
  3. 通用标头不会
    #include
    组件

B.这都是一个组件,分为实现细节

  1. 用户将包含单个公共标头
  2. 详细标题将不包括公共标题
  3. 公共标头将
    #include
    公共声明之后的详细标头。

未能做出此决定很可能导致循环包含。

© www.soinside.com 2019 - 2024. All rights reserved.