如何在C++中集成函数

How do I integrate a function in C++

本文关键字:集成 函数 C++      更新时间:2023-10-16

我正在学习C++,但没有找到以下问题的答案:

我有一个公式,可以根据用户输入计算两个数字的结果​​.

  • 包含此公式的头文件(".h")应该是什么样子
  • 如何从源代码(".cpp")中获取公式
  • 如何将结果传递给源代码(".cpp")

对你们这些老前辈来说,这不是一个话题。在哪里可以找到关于C++的好教程?

问候,Dino

最好的教程可以在书中找到。SO上有很多关于好书推荐的话题。

在C++中,独立函数应该分组在名称空间中,或者作为static类成员(但前提是它们在逻辑上连接到一个类)。

对于你的情况,我会选择namespace。即便如此,仍有3种可能性,其中2种是可优先考虑的:

1) 在标头中声明函数,并将其定义在源文件中:

//formulas.h
#ifndef FORMULAS_H
#define FORMULAS_H
namespace Formulas
{
   int myFormula(int,int);
};
#endif

预处理器指令是include guards(你可以用谷歌搜索)。之后,您可以在源文件中定义它:

//formulas.cpp
#include "formulas.h"
namespace Formulas
{
    int myFormula(int, int)
    {
       //....
       return 42;
    }
}

2) 将头中的函数声明并定义为inline(这将防止函数的多个定义)。通常使用频繁调用的相对较小的函数来完成,以防止调用开销并允许更好的优化:

//formulas.h
#ifndef FORMULAS_H
#define FORMULAS_H
namespace Formulas
{
   inline int myFormula(int,int)
   {
       //...
       return 42;
   }
};
#endif

3) 在标头中声明和定义函数,将其标记为static。这是不可取的,因为它将为包括标题的每个翻译单元创建函数的副本。

要使用该函数,您只需要在声明和调用它的位置包含标头。

头文件(*.h)

int add(int a, int b);

源文件(*.cpp)在cpp文件的顶部

#include "yourheader.h"

然后在cpp文件中的任何位置

...
int result=add(5,6);
...