我最近开始编码,我一直想弄清楚这意味着什么:
static thing* dostuff();
thing* thing::dostuff(){};
我搜索了函数指针,但它们看起来不一样。这些类型的函数似乎出现在代码的重要领域,我想知道它们的含义以及如何使用它们。谢谢你。
答案 0 :(得分:2)
您的代码片段static thing* dostuff()
和thing* thing::dostuff(){}
与函数指针无关,但它是函数的声明和此函数的定义/实现。
static thing* dostuff();
声明一个返回数据类型为thing
的指针的函数,该指针可能是类类型。
因此dostuff
实际上是类thing
中定义的成员函数的可能性很大。关键字static声明未绑定到类实例的成员,静态成员函数不与任何对象关联。调用时,它们没有this
- 指针:
class thing {
static thing* dostuff();
};
然后,thing* thing::dostuff(){}
是类thing
的静态成员函数的实现。前缀thing::
表示此函数是类thing
的一部分。
答案 1 :(得分:0)
它只是thing
的静态成员函数,名为dostuff
,返回类型为thing*
的指针。
没有什么特别或奇怪的。