中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中怎么初始化類靜態成員

發布時間:2021-07-20 13:51:10 來源:億速云 閱讀:132 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關C++中怎么初始化類靜態成員,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

C++類靜態成員初始化相關實現代碼介紹:

class mytestclass   {   public:   const static int i = 5;   };   int main()   {   std::cout<<mytestclass::i<<std::endl;   return 0;   }

結果沒有問題,輸出為5(編譯器為vc7.1),但是在下面這個例子中:

int regi()   {   return 5;   }   class mytestclass   {   public:   const static int i = regi();   };   int main()   {   std::cout<<mytestclass::i<<std::endl;   return 0;   }

輸出卻不正確,輸出為0(編譯鏈接都沒有問題)。。。,似乎代碼并沒有執行regi函數?

在C++類靜態成員初始化中初始化變量分為"動態初始化"和"靜態初始化","動態初始化"為利用函數進行初始化,"靜態初始化"為常量表達式進行初始化. C++標準對于類中的常量表達式的"動態初始化"似乎并未做說明,所以是否支持類中常數靜態變量的動態初始化也就取決與編譯器的設計了. 但是無論如何vc7.1的編譯結果都是不對的,它并沒有給出錯誤,但是結果與邏輯不向符合,這應該是vc7.1的一個bug.(在vs2005中的C++編譯器已經修正了這個bug,給出了一個編譯Error)

關于C++中怎么初始化類靜態成員就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

财经| 子长县| 罗平县| 屯门区| 武定县| 青海省| 阳东县| 江阴市| 泽普县| 永州市| 故城县| 平武县| 长兴县| 贡嘎县| 富阳市| 和政县| 丽水市| 呈贡县| 仁怀市| 出国| 伊吾县| 和龙市| 类乌齐县| 乐昌市| 新乡县| 社旗县| 孝昌县| 邵东县| 枣庄市| 孙吴县| 景谷| 墨玉县| 内乡县| 孟村| 云龙县| 蒙城县| 柯坪县| 绥中县| 乡城县| 达尔| 太谷县|