程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++ 靜態成員遇到的坑總結

c++ 靜態成員遇到的坑總結

編輯:C++入門知識

1.對於類靜態變量的初始化,用下面方法。   1 //.h頭文件中 2 class a 3 { 4 public: 5   const static int i; 6 }; 靜態成員的初始化應放在.cpp中而不是.h中。 因為h可能被多個cpp包含(#include),這種情況下,如果是在h中初始化靜態成員的 就會造成編譯期間的“重定義”錯誤。   1 //.cpp文件 2 const int a::i=1; //定義前置 定義要前置放在類實現最前面,避免有時候放到了用到的函數後面。       2.對於靜態常量的初始化,vc6編譯器僅支持下面方法      復制代碼 1 //.h頭文件 2 class a  3 { 4   public: 5   const static int i; 6 }; 7 //.cpp文件 8 const int a::i=1; 復制代碼     注意這種方法一定要把const int a::i=1;放到類實現部分的最前面。 因為後邊成員函數可能需要用到他的值。   gcc、mingw除了上面的方法之外也可用下面的方法:   1 class a  2 { 3 public: 4   const static int i=1; 5 };

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved