簡體   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