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
关键字告诉编译器忽略变量声明,并查找类声明。从技术上讲,这几乎是正确的,但我相信您忽略了问题的一些细微差别。