gpt4 book ai didi

C++:正确的内联语法

转载 作者:太空狗 更新时间:2023-10-29 23:42:38 25 4
gpt4 key购买 nike

是否更喜欢定义内联方法,例如:

// math.h
class Math
{
public:
inline static int sum(int a, int b)
{
return a + b;
}
};

// math.h
class Math
{
public:
static int sum(int a, int b);
};

// math.cpp
inline int Math::sum(int a, int b);
{
return a + b;
}

为什么?有什么不同吗?您应该将内联完全留给编译器吗? (我知道这很主观,但我想听听一些意见和原因)

此外,我相信大多数编译器都会根据自己的意愿内联或不内联,而不管是否存在 inline 关键字?

最佳答案

无论如何,您都将内联完全留给了编译器。这些只是提示您认为代码应该内联(或不内联)。类定义中定义的所有方法在默认情况下都是内联的(inline 的实际含义不是必须内联此方法)。

class Math {
public:
static int sum( int a, int b ) // inlined even without 'inline'
{ return a+b; }
};

您是使用类内还是类外的内联版本(都在标题中)取决于您,我会以可读性为基础。对于小型单行代码和访问器,我倾向于在类中编写它们,因为这是该方法最强大的文档,代码仍然可以让您轻松查看类接口(interface)。

关于C++:正确的内联语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3108142/

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