C++静态成员和非静态成员的区别 及修饰
生活随笔
收集整理的這篇文章主要介紹了
C++静态成员和非静态成员的区别 及修饰
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
1.數據成員可以分靜態變量、非靜態變量兩種.靜態成員:靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名+靜態成員名訪問此靜態成員,因為靜態成員存在于內存,非靜態成員需要實例化才會分配內存,所以靜態成員不能訪問非靜態的成員..因為靜態成員存在于內存,所以非靜態成員可以直接訪問類中靜態的成員.靜態成員在每個類中只有一個拷貝,是解決同一個類的不同對象之間數據和函數共享問題的。
?
?非成靜態員:所有沒有加Static的成員都是非靜態成員,當類被實例化之后,可以通過實例化的類名進行訪問..非靜態成員的生存期決定于該類的生存期..而靜態成員則不存在生存期的概念,因為靜態成員始終駐留在內容中..
?
?一個類中也可以包含靜態成員和非靜態成員,類中也包括靜態構造函數和非靜態構造函數..
2.
靜態成員函數可以直接引用該類的靜態數據成員和靜態成員函數,但不能直接引用非靜態數據成員和非靜態成員函數,否則編譯報錯。如果要引用,必須通過參數傳遞的方式得到對象名,然后再通過對象名引用 [cpp] view plaincopyprint?那么可以得出結論,靜態成員和非靜態成員區別如下:1.訪問方式不一樣.靜態成員(通過類名.靜態成員名訪問).非靜態成員(通過對象名.非靜態成員名訪問)2.靜態成員屬于類.該類的所有對象共同擁有這一個成員.非靜態成員屬于對象,每個對象都有一份.靜態成員不論有類有多少個對象.只在內存中分配一塊空間. 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的C++静态成员和非静态成员的区别 及修饰的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件开发人员怎样走好从技术到管理之路?
- 下一篇: C++中WSAAsyncSelect模型