static 用法www
?
static關(guān)鍵字是C、C++中都存在的關(guān)鍵字, 它主要有三種使用方式,
其中前兩種只指在C語(yǔ)言中使用, 第三種在C++中使用(C,C++中具體細(xì)微操作不盡相同). ?
(1)?局部靜態(tài)變量。?靜態(tài)局部變量有兩個(gè)用法,記憶功能和全局生存期.
(2)?外部靜態(tài)變量/函數(shù)。?用于全局變量,主要作用是限制此全局變量被其他的文件調(diào)用
(3)?靜態(tài)數(shù)據(jù)成員/成員函數(shù) 表示這個(gè)成員是屬于這個(gè)類但是不屬于類中任意特定對(duì)象(C++)
?
1.Static修飾局部變量 (作用域,生命期)
首先,一般的局部變量存放在內(nèi)存的棧區(qū),當(dāng)函數(shù)運(yùn)行完了后,內(nèi)存就被釋放。
靜態(tài)局部變量存放在內(nèi)存的靜態(tài)區(qū),生命期一直到程序結(jié)束后完結(jié)。作用域還是和一般的局部變量一樣,只在函數(shù)中。
?
2.Static修飾全局變量和函數(shù)
static修飾符可以使函數(shù)僅在當(dāng)前模塊(文件)中有效,外部模塊無法調(diào)用static修飾的函數(shù); 如果全局存在同名的函數(shù),則static會(huì)屏蔽掉全局函數(shù),相當(dāng)于在當(dāng)前模塊中重載這個(gè)函數(shù). 使用(static)內(nèi)部函數(shù)的好處是:不同的人編寫不同的函數(shù)時(shí),不用擔(dān)心自己定義的函數(shù),是否會(huì)與其它文件中的函數(shù)同名。3.Static修飾類成員
(這一條只在C++中有效)
Static修飾的類成員就是類屬性
靜態(tài)成員變量:一個(gè)類的公共屬性,只有一個(gè)拷貝。((與Java中此關(guān)鍵字的含義相同)。
你用Siezof 一個(gè)類就能看到,靜態(tài)成員變量占的內(nèi)存就不被計(jì)算在內(nèi)。
靜態(tài)成員函數(shù):只能訪問靜態(tài)的類成員,不管是成員變量還是成員函數(shù)都必須是Static的
?
?
link
http://blog.csdn.net/soul_/article/details/6480347
?http://www.cppblog.com/SpringSnow/archive/2008/10/11/springsnow.html
?
?static修飾符的應(yīng)用難點(diǎn)在于“多線程編程”和“面向?qū)ο缶幊獭?#xff1f;》http://blog.chinaunix.net/uid-21778123-id-1815422.html
轉(zhuǎn)載于:https://www.cnblogs.com/luofeng225/archive/2012/05/17/2506571.html
總結(jié)
以上是生活随笔為你收集整理的static 用法www的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux shell if 或和且的表
- 下一篇: 同期及上期数据对比处理示例.sql