Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ &引用;“类”;返回类型上的关键字-C++;_C++ - Fatal编程技术网

C++ &引用;“类”;返回类型上的关键字-C++;

C++ &引用;“类”;返回类型上的关键字-C++;,c++,C++,我遇到了一段代码,看起来像这样: int SomeClass; //SomeClass is declared to be variable here class SomeClass* GetSomeClass() { return _instanceOfSomeClass; } class-SomeClass*GetSomeClass() { 返回_instanceOfSomeClass; } “class”关键字对返回类型有什么作用?我找不到任何地方可以解释它的功能。它是否只是指定

我遇到了一段代码,看起来像这样:

int SomeClass; //SomeClass is declared to be variable here

class SomeClass* GetSomeClass()
{
  return _instanceOfSomeClass;
}
class-SomeClass*GetSomeClass()
{
返回_instanceOfSomeClass;
}

“class”关键字对返回类型有什么作用?我找不到任何地方可以解释它的功能。它是否只是指定它将某个类作为一个类来讨论,以防出现某种含糊不清的情况?我很困惑。

这是一个前瞻性声明。它允许您只说“在我的程序中的某个地方有一个类SomeClass,它对这个文件不可见,以防止重新记录”


但是,无论何时实现此函数,文件都必须具有类SomeClass的实际接口。

类SomeClass
是引用类类型的一种直接方式(从技术上讲,它是详细的类型说明符)。通常,添加
class
是多余的,两者是等价的。但是,如果存在同名的变量或函数,有时需要解决歧义。

它用于消除歧义

例如,如果在同一(或外部)作用域中有一个同名变量,如下所示:

int SomeClass; //SomeClass is declared to be variable here

class SomeClass* GetSomeClass()
{
  return _instanceOfSomeClass;
}

如果没有
关键字,函数声明对编译器来说就没有意义。
class
关键字告诉编译器忽略变量声明,并查找类声明。

从技术上讲,这几乎是正确的,但我相信您忽略了问题的一些细微差别。