gpt4 book ai didi

c++ - 在类或结构中调用静态函数的好习惯

转载 作者:行者123 更新时间:2023-11-28 04:35:53 24 4
gpt4 key购买 nike

我想知道在 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();

最佳答案

直接调用 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!
}

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

void anywhereElse()
{
t_mystruct::myfunction(); // Mandatory
myfunction(); // Does not compile
}

这适用于您的整个代码库,而不仅仅是所考虑的 .cpp 文件。

关于c++ - 在类或结构中调用静态函数的好习惯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51456180/

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