内联函数在哪里定义

时间:2025-03-05 00:45:55 明星奇闻

内联函数可以通过以下方式定义:

在函数定义前加上 `inline` 关键字

```cpp

inline int add(int a, int b) {

return a + b;

}

```

在函数声明和定义处都加上 `inline` 关键字

```cpp

inline int add(int a, int b); // 函数声明

inline int add(int a, int b) {

return a + b;

} // 函数定义

```

对于类成员函数,可以在类定义体内部定义

```cpp

class Sales_item {

public:

double avg_price() const {

if (units_sold) return revenue / units_sold;

return 0;

}

private:

int units_sold;

double revenue;

};

```

对于类成员函数,可以在类定义体内部的函数声明上用 `inline` 显式地指定

```cpp

class Sales_item {

public:

inline double avg_price() const; // 函数声明

private:

int units_sold;

double revenue;

};

inline double Sales_item::avg_price() const {

if (units_sold) return revenue / units_sold;

return 0;

} // 函数定义

```

对于类成员函数,可以在类定义体外部的函数定义上用 `inline` 显式地指定

```cpp

class Sales_item {

public:

double avg_price(); // 函数声明

private:

int units_sold;

double revenue;

};

inline double Sales_item::avg_price() const {

if (units_sold) return revenue / units_sold;

return 0;

} // 函数定义

```

建议

通常将内联函数的定义放在头文件中,以便编译器在每个调用点都能看到函数的定义,从而能够进行内联优化。

内联函数适用于执行频繁且代码量较小的函数,通过减少函数调用的开销来提高程序运行效率。

在类定义体内部定义内联函数可以保持类成员的封装性,同时使得内联函数的定义更加紧凑。