1. 程式人生 > >C++基礎之static(靜態)變量

C++基礎之static(靜態)變量

引用 靜態成員 頭文件 this指針 文件中 單元 一份 文件無效 全局

static 表示靜態 作用: 1、在函數體內,靜態變量的值維持不變(記憶功能) 2、是一個本地的全局函數,即只能被本模塊的函數訪問(隱藏功能) static變量: static全局變量和普通全局變量的區別:static變量只初始化一次(即不能重復定義),這樣可以防止在其他文件單元中被引用 static局部變量和普通局部變量的區別:static變量值初始一次,下次的運算依據是上一次的值(第二次碰到初始化語句直接跳過即可) static函數: static函數只能在一個源文件中有效,在其他源文件無效 類中的static: 1、無論類對象被定義多少個,靜態數據成員始終只有一份,用作共享 2、靜態數據成員存儲在全局數據區,定義時要分配空間,即使類沒有被實例化,靜態數據成員也可以被使用 3、遵從public、private、protect訪問 4、static的成員函數在類外初始化(類中只是聲明,cpp中才是初始化),但此時不要加static關鍵字 5、static數據成員沒有this指針(普通的類成員函數都有),因此不能訪問類中的非靜態成員函數,只能訪問成員函數 優點:
1、不存在全局名字沖突 2、信息可以隱藏,可以為private 註:不要在頭文件定義靜態變量,不要在頭文件定義任何變量

C++基礎之static(靜態)變量