C#學習之做用符--全局做用符::

::是運算符中等級最高的,它分爲三種:全局做用域符,類做用域符,命名空間做用域符。他們都是左關聯(left-associativity)。他們的做用都是爲了更明確的調用本身的對象或者函數。ide

全局做用

全局做用域符號:當全局變量在局部函數中與其中某個變量重名,那麼就能夠用::來區分如:
  char zhou; //全局變量
  void sleep()
  {
  char zhou; //局部變量
  zhou(局部變量) = zhou(局部變量) *zhou(局部變量) ;
  ::zhou(全局變量) =::zhou(全局變量) *zhou(局部變量);
  }函數

類做用

做用域符號::的前面通常是類名稱,後面通常是該類的成員名稱,C++爲了不不一樣的類有名稱相同的成員而採用做用域的方式進行區分
  如:A,B表示兩個類,在A,B中都有成員member。那麼
  A::member就表示類A中的成員member
  B::member就表示類B中的成員memberurl


命名空間

"::"是做用域限定符或者稱做做用域運算符或者做用域操做符(scope operator).例如命名空間spa

"::"做用:namespace::namehtm

備註:轉自http://baike.baidu.com/link?url=WwXKmy7d9q7oYYtwQFmA-dqmtOsp6aBkGBa34T34TGBIBXJBPs4PkX2Hg20lWo3ZN2TjUFLA7c-DssQ5LifpMq
對象


好比說你在全局定義了一個變量str,而後在函數裏面又定義了這個str名字的變量的,這個時候你要是在函數裏面直接寫str,那麼就是訪問的函數內部的變量的。沒法訪問外部變量的。
這是正常的現象的。可是若是你想訪問外部變量的話,那麼就能夠使用::str來訪問的。就不會是訪問內部變量了。。
相關文章
相關標籤/搜索