C++技術——const修飾詞
阿新 • • 發佈:2018-12-03
const :表示不能改變被修飾變數的值;相反修飾:mutable :表示可變,不管在哪。 一 非類中作用: 1 const修飾形參引用:用於函式引數修飾,這樣就無法改傳遞過來的變數的值,只能訪問。 2 const修飾變數 :const int sum = 10;(代替巨集定義,定義巨集變數其實是一個常量, 巨集定義在編譯的時候替換掉,而const 變數不需要,顯得更加有優勢) 3 const int sum = 10; const int &a = sum;(const 修飾的變數,引用時也需要使 用const 引用,因為如果後期引用發生賦值現象,那麼就等於再改變const int sum 的值, 這明顯邏輯不對,所以才需要再引用前新增const. 二 類中作用: 1 修飾成員變數:修飾的變數在類中完成宣告和定義,宣告可以像其它變數一樣宣告即可 (但是如果是static const int sum = 10; 可以直接宣告並定義。), 定義需要在 建構函式的引數列表中完成,不可以在建構函式體內完成,因為函式體執行時間是在定義 了物件以後才呼叫,而常量要求聲明後及定義。 2 修飾成員函式:int sum_work( )const { cout<<sum<<endl; } 其實const 放在函式後面是由原因:const 其實是修飾物件,表示物件呼叫該函式不可以 通過該函式改變成員變數的值,因此在這種const成員函式中呼叫其它成員函式也應該是 const修飾的成員函式。 如果我們希望某些成員變數在const修飾的成員函式可以修改,可以在宣告該變數時添 加mutable即可,表示該變數是可被改變的,即使在const 修飾的成員函式中。