为什么static成员一定要在类外初始化?
生活随笔
收集整理的這篇文章主要介紹了
为什么static成员一定要在类外初始化?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ?這是因為被static聲明的類靜態數據成員,其 實體 遠在main()函數開始之前就已經在全局數據段中誕生了(《Inside the C++ Object Model》page247)!其生命期和類對象是異步的,這是最主要的原因。靜態語意說明即使沒有類實體的存在,其靜態數據成員的實體也是存的,這個時候對象的生命期還沒有開始,如果你要到類中去初始化類靜態數據成員,讓靜態數據成員的初始化依賴于類的實體,那怎么滿足前述靜態語意呢?難道類永遠不被實例化,我們就永遠不能訪問到被初始化的靜態數據成員嗎??
轉載于:https://www.cnblogs.com/justaname/p/10515874.html
總結
以上是生活随笔為你收集整理的为什么static成员一定要在类外初始化?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kivy中文
- 下一篇: 计算机网络第七版(谢希仁著)课后习题答案