定数のconstに分析ポインタとポインタ

  定義ポインタp以下の分析。

int型の TMP = 5 ; 

int型 * p =&TMP;
const  int型 * p =&TMP;
int型 のconst * p =&TMP;
int型 * のconst p =&TMP;
const  int型 * constの P =&TMP;
int型 のconst * のconst p =&TMP;

  文献によれば、実施の形態を区別右から左へ読み取るを使用することができます。

最初は、通常のポインタ通常INT変数です。

第二及び第三の同一は、共通ポインタのconst int型の変数です。

CONSTは、第四のポインタ通常int型変数です。

第五及び第六のと同様に、CONSTポインタのconst int型の変数です。

 

  次のようにテストコードは次のようになります。

1つの#include <iostreamの>
 2  
3  
4  ボイドTEST1(){
 5      int型 TMP = 5 6      のint * pを=&TMP;
7      のstd :: coutの<< " test1の:: p値:" << * P << はstd ::てendl;
8      // * pとpは一般的な変数です。
9      * P = 10// OK 
10      int型 TMP1 = 9 ;
11      、P =&TMP1。  // OK 
12  }
 13  
14  のボイドTEST2(){
 15      のint TMP = 5 16      のconst  int型 * p =&TMP;
17      のstd :: coutの<< " TEST2 :: p値:" << * P << はstd ::てendl;
18      // * Pは読み取り専用で、pは一般的な変数です。
19  //     * P = 10;  // エラー
20      INT TMP1 = 9 ;
21      、P =&TMP1。  // OK 
22  }
 23  
24  // TEST2と同じ
25  ボイドTEST3(){
 26     int型の TMP = 5 ;
27      int型 のconst * p =&TMP;
28      のstd :: coutの<< " TEST3 :: p値:" << * P << はstd ::てendl;
29      // * Pは読み取り専用で、pは一般的な変数です。
30  //     * P = 10;  // エラー
31      INT TMP1 = 9 ;
32      P =&TMP1。  // OK 
33  }
 34  
35  空隙TEST4(){
 36      のint TMP = 5 37      INT* のconst p =&TMP;
38      のstd :: coutの<< " TEST4 :: p値:" << * P << はstd ::てendl;
39      // pが読み取り専用で、* pは一般的な変数です。
40      * P = 10// OK
 41  //     int型TMP1 = 9;
42  //     p =&TMP1。  // エラー
43  }
 44  
45  空隙TEST5(){
 46      のconst  int型 TMP = 5 47      のconst  int型 * のconst p =&TMP;
48      のstd :: coutの<< " TEST5 :: p値:" << * P << はstd ::てendl;
49      // pが読み取り専用で、* pはまた、読み取り専用です。
50  //     * P = 10;  // エラー
 51  //     INT TMP1 = 9。
52  //     p =&TMP1。  // エラー
53  }
 54  
55  
56  // TEST5と同じ
57  空隙TEST6(){
 58      のconst  int型 TMP = 5 59      int型 のconst * constのP =&TMP;
60      のstd :: coutの<< " TEST6 :: p値:" << * P << はstd ::てendl;
61      // pが読み取り専用で、* pはまた、読み取り専用です。
62  //     * P = 10;  // エラー
 63  //     int型TMP1 = 9;
64  //     p =&TMP1。  // エラー
65  }
 66  
67  int型のmain(){
 68      のstd :: coutの<< " こんにちは、世界!" << はstd ::てendl;
69      TEST1();
70      TEST2()。
71     TEST3();
72      TEST4()。
73      TEST5()。
74      TEST6()。
75      リターン 0 ;
76 }

 

参考文献:

(1)https://www.cnblogs.com/bencai/p/8888760.html

おすすめ

転載: www.cnblogs.com/tlz888/p/11350521.html