繁体   English   中英

范围解析运算符之前的类名中的指针

[英]Pointer in class name before scope resolution operator

我正在从c转移到c ++并在这里遇到scoperesolution页面信息并且非常有用“ClassName ClassName :: FunctionName”在C ++中是什么意思?

但是我也遇到了下面的代码,我打算学习它并且它在类名之前有一个指针,所以我的问题是在什么情况下会使用指针。

const char *TObject::ClassName() const
{
   // Returns name of class to which the object belongs.
   return IsA()->GetName();
}

这是其类之外的成员函数的常规定义。 在这种情况下,星号没有特殊含义。

首先,回想一下如何在C中定义一个返回指针的函数:

const char *Foo() {
   return something;
}

您看到的声明具有相同的结构,但两个元素除外:

  • 函数的全名使用范围解析运算符,和
  • const后面有一个const

范围分辨率意味着ClassName是属于TObject类的成员函数,而末尾的const意味着成员函数的代码不会改变其类的成员变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM