1. 程式人生 > >C++中關鍵字static的作用

C++中關鍵字static的作用

對象 想要 關鍵字 局部作用域 blog 個數 初始化 ext lte

1、定義局部靜態變量,存放在全局數據區的靜態變量區。初始化的時候自動初始化為0; 其作用域為局部作用域,當定義它的函數或語句塊結束時,其作用域隨之結束。
2、static定義全局變量的時候,這個全局變量只能在本文件中訪問,不能在其它文件中訪問,即便是extern外部聲明也不可以。
3、static定義一個函數,則這個函數的只能在本文件中調用,不能被其他文件調用。
(1)不想被釋放的時候,可以使用static修飾。比如修飾函數中存放在棧空間的數組。如果不想讓這個數組在函數調用結束釋放可以使用static修飾
(2)考慮到數據安全性(當程想要使用全局變量的時候應該先考慮使用static)

4、 定義靜態數據成員,有如下特點:

(1)內存分配:在程序的全局數據區分配

(2) 初始化和定義:靜態數據成員定義時要分配空間,所以不能在類聲明中定義

5、定義靜態成員函數。

  靜態成員函數與類相聯系,不與類的對象相聯系。靜態成員函數不能訪問非靜態數據成員。

C++中關鍵字static的作用