指针?指针功能?

时间:2017-04-20 20:38:26

标签: c++ pointers

我最近开始编码,我一直想弄清楚这意味着什么: static thing* dostuff(); thing* thing::dostuff(){};
我搜索了函数指针,但它们看起来不一样。这些类型的函数似乎出现在代码的重要领域,我想知道它们的含义以及如何使用它们。谢谢你。

2 个答案:

答案 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*的指针。

没有什么特别或奇怪的。