C++(静态)(常量)数据进行初始化问题以及静态变量析构
生活随笔
收集整理的這篇文章主要介紹了
C++(静态)(常量)数据进行初始化问题以及静态变量析构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C++11標準以前我們都不可以在類中對數據成員初始化,僅能在構造函數中進行初始化:
class A {int a,b; double c; string d;A():a(1),b(2),c(3),d(""){} };在C++11標準以后我們可以在類中對非靜態成員進行初始化。實際上的機制是在調用構造函數的時候再根據類中的初始化進行賦值。
class A {//和上面的方法等價,這樣寫使得構造函數更加簡潔。int a=1,b=2; double c=3; string d="";A(){} };靜態成員變量的初始化必須在類的外部,即先在類中定義,再在類外進行初始化。而且必須初始化。
初始化格式為:
數據類型 類名::靜態變量名=初值;不需要static關鍵字
但是靜態常量整型成員的初始化可以在類內進行,例如:
class A {static const int a=5;//沒有問題,但僅僅這種類型可以A(){} };靜態變量會在程序運行的最后進行析構,析構順序為先創建先析構,后創建后析構。
總結
以上是生活随笔為你收集整理的C++(静态)(常量)数据进行初始化问题以及静态变量析构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页有懒加载功能,怎么将网页拉到最底部,
- 下一篇: 分娩时隐瞒是试管婴儿可以吗