天天看點

C++中explicit 、const 、mutable、static關鍵字

explicit :

對于單參數的構造函數,一般用explicit 關鍵字,阻止隐式類型轉換

const  :

1)  成員函數末尾的const ,成員函數聲明和定義中都必須增加const ,且意味着這個成員函數不會修改這個對象中的成員變量的值,被稱為常量成員函數。

2)  定義const對象,該對象隻能調用const成員函數

mutable  :

不穩定,容易改變的意思,用mutable修飾一個成員變量,一個成員變量一旦被mutable修飾了,就表示這個成員變量永遠處于可修改的狀态,即使是在const結尾的成員函數中,也是可以修改的。

static :

類的static 成員變量和成員函數是供類的的對象共享的,一旦某個對象改變了其值,所有對象都将發生改變

int time::m=100; //類外進行初始化

class time
{
    static int m;
}