C++int constとconst intの違い

772 ワード

  • オブジェクトが対象でない場合、
  • は区別されません.
    int const x = 3;
    const int x = 3;
  • オブジェクトがポインタである場合、それらには違いがあるint* const p = &array:ポインタpは他のアドレスconst int* p = &arrayを指すことができない:ポインタpは&arrayを読み取り専用であり、
  • を修正することができない.
    例として、
    #include 
     
    using namespace std;
    
    int main()
    {
        int arr[3]={1,2,3};
        int varr[3]={100,200,300};
        const int* p1 = arr;
        int* const p2 = arr;
    
        cout << *p1 << endl;
        cout << *p2 << endl;
    
        // *p1 = 22; // error
        *p2 = 22;
        cout << *p2 << endl;
        cout << arr[0] << endl;
    
        p1 = varr;
        cout << *p1 << endl;
    
        p2 = varr;//error
        return 0;
    }