C++におけるconstキーワードの役割

2637 ワード

原文参照
constはconstantの略で、1つの変数の前にconstで修飾すれば、その変数のデータにアクセスでき、修正できないことを意味します.つまりconstは「読み取り専用」readonlyを意味する
ルール:constが誰に近いかは、誰も修正できません.constは変数を修飾し、必ずこの変数に値を初期化しなければならない.初期化しなければ、後で初期化できない.本質:constは誰の後ろにあるかは修正できませんが、constは一番前にあると後ろに1人移動し、両者は等価です.
constキーワードの役割
  • あなたのコードを読む人に非常に有用な情報を伝えるために、パラメータを定数と宣言するのは、ユーザーにこのパラメータの応用目的を伝えるためです.
  • オプティマイザにいくつかの追加情報を与えることで、キーワードconstはよりコンパクトなコードを生成することができるかもしれない.
  • キーワードconstを合理的に使用すると、コンパイラは修正されたくないパラメータを自然に保護し、無意識なコード修正を防止し、bugの出現を減らすことができる.

  • constキーワード適用
  • 変数が変更されるのを阻止するにはconstを使用します.このconst変数を定義するときは、まず初期化する必要があります.その後、彼を変更する機会はありません.
  • ポインタについては、ポインタ自体がconstであることを指定してもよいし、ポインタが指すデータがconstであることを指定してもよいし、両者が同時にconstであることを指定してもよい.
  •     int me;
        const int * p1 = &me;//p1  ,*p1   ,     *p1   ,  p1       
        int * const p2 = &me;//p2   ,*p2  ,    *p2     ,  p2    。   
        const int *const p3 = &me;//p3   ,*p3    ,      *p3     ,      
  • 関数宣言では、constはパラメータを修飾して、関数内部で値を変更できない入力パラメータであることを示すことができる.
  • void function(const int Var); //                . 
  • クラスのメンバー関数について、constタイプとして指定する必要がある場合があります.これは通常の関数であり、クラスのメンバー変数を変更できないことを示します.(mutableで修飾されたメンバー変数を使用して修正可能)
  • void function()const; //     , Const              。    
  • クラスのメンバー関数では、クラスの戻り値が「左」でないようにconstタイプとして指定する必要がある場合があります.
  • const int function(); //  const      
    const myclassname function(); //         myclassname.