c++类名字查找与类的作用域
生活随笔
收集整理的這篇文章主要介紹了
c++类名字查找与类的作用域
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?一、總綱
二、用于類成員聲明的名字查找
?三、成員定義中的普通塊作用域的名字查找
?類內(nèi)作用域使用自己的成員變量,可以使用作用域運(yùn)算符::或者this兩種方法(什么也不加隱式是第二種的縮寫)。
?三、如果編譯器函數(shù)中和類中都沒有查到名字,那么接著在外圍作用域中查找。
? ? ? ? ? 這條是針對編譯成員函數(shù)的函數(shù)題而言的。
?總結(jié):類中使用全局變量用全局作用域運(yùn)算符::,要使用類成員變量,使用Class_name::成員變量。
? ? ? ? 對上面解釋的一個(gè)補(bǔ)充。
?注:名字查找的第三部包括了成員函數(shù)出現(xiàn)之前的全局作用域。
總結(jié):c++類的成員變量的聲明和函數(shù)的聲明部分,分為兩步查找名字;但是特殊點(diǎn)的就是函數(shù)的定義部分({}括起來的部分)名字查找分成三步;特別提醒第三步,如果成員函數(shù)定義在類外部,在成員函數(shù)定義之前的全局作用域都屬于第三步的查找范圍。
? ? ? ? 雖然類內(nèi)不能在使用類外定義的名字的情況下重新定義類外名字,但是在類內(nèi)沒使用過類外定義名字的前提下是可以沖洗定義外部的定義的名字的。
? ? ? ? 類外使用類內(nèi)定義的類型名時(shí),必須加上類名和作用域運(yùn)算符,否則不會從類中查找,只會從名字之前的全局作用域查找。
總結(jié)
以上是生活随笔為你收集整理的c++类名字查找与类的作用域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: static和不完全类型的一个例子
- 下一篇: C++三五法则,看看你能不能理解(推荐)