指针?指针函数?
问题描述:
我最近开始编码,我一直在试图弄清楚这是什么意思一段时间:static thing* dostuff(); thing* thing::dostuff(){};
我搜索函数指针,但他们看起来不同。这些类型的函数似乎出现在代码的重要领域,我想知道它们的含义以及如何使用它们。谢谢。指针?指针函数?
答
您的代码片段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
的一部分。
答
它只是一个静态成员函数thing
,被称为dostuff
,返回一个类型为thing*
的指针。
没有什么特别的或怪异的。
这是一个返回指针的函数。 – Donnie
阅读[标签:指针] – edmz
我的水晶球告诉我,第一个是在一个类的东西类的定义,后者在一些实现源文件。而后者说谎,因为它声称返回一个“东西”指针,实际上什么都不做。这两个都是返回指针的函数。函数指针与此无关。 – WhozCraig