萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> C++中static的用法匯總

C++中static的用法匯總

 static的全部用法

  要理解static,就必須要先理解另一個與之相對的關鍵字,很多人可能都還不知道有這個關鍵字,那就是auto,其實我們通常聲明的不用static修飾的變量,都是auto的,因為它是默認的,就象short和long總是默認為int一樣;我們通常聲明一個變量:

  int a;

  string s;

  其實就是:

  auto int a;

  auto string s;

  而static變量的聲明是:

  static int a;

  static string s;

  這樣似乎可以更有利於理解auto和static是一對成對的關鍵字吧,就像private,protected,public一樣;

  對於static的不理解,其實就是對於auto的不理解,因為它是更一般的;有的東西你天天在用,但未必就代表你真正了解它;auto的含義是由程序自動控制變量的生存周期,通常指的就是變量在進入其作用域的時候被分配,離開其作用域的時候被釋放;而static就是不auto,變量在程序初始化時被分配,直到程序退出前才被釋放;也就是static是按照程序的生命周期來分配釋放變量的,而不是變量自己的生命周期;所以,像這樣的例子:

  void func()

  {

  int a;

copyright © 萬盛學電腦網 all rights reserved