在类或结构内调用静态函数的良好实践

时间:2018-07-21 12:42:03

标签: c++ function static

我想知道在A和B之间的类或结构内调用静态函数(和变量)的更好方法是什么。

A: ClassName::functionName();

B: functionName();

这是我简单的示例代码:

在头文件中,

typedef struct _mystruct
{
    static void myfunction();
} t_mystruct;

在CPP文件中,

void t_mystruct::myfunction()
{
   //do something
}

现在,在同一个CPP文件中,在A和B之间调用此静态函数的更好的做法是什么?

A: t_mystruct::myfunction();

B: myfunction();

1 个答案:

答案 0 :(得分:1)

仅在val df: DecimalFormat = DecimalFormat("#,##0.000") df.decimalFormatSymbols = DecimalFormatSymbols(Locale.getDefault()) df.format(BigDecimal(123456,78)); //will output 123.456,78 - depending on Locale 的实现内部,直接调用myfunction();是可行的。在这种情况下,您可以根据自己喜欢的编码样式进行操作:

t_mystruct

否则,您必须明确使用其完全限定名称:

// .h
struct t_mystruct // You can declare it directly that way
{
    static void myfunction();
    void myOtherFunction();
};

// .cpp
void t_mystruct::myOtherFunction()
{
   myfunction(); // That's fine!
   t_mystruct::myfunction(); // That's fine too!
}

这对于您的整个代码库都是如此,不仅适用于考虑的.cpp文件。