6

これは初心者のC++の質問です。次の2つの構成の違いは何ですか?

1. const int* const* const x
2. const int**

これらの構成をどのように読み取るのですか?

4

3 に答える 3

8

これらの構成をどのように読み取るのですか?

それらを逆方向に読み、*「ポインタ」として読みます。

const int* const* const

整数定数への定数ポインタへの定数ポインタです。

const int**

整数定数へのポインタへのポインタです。

于 2012-11-23T23:20:48.110 に答える
2

物事を正しい方法でグループ化すると、少し簡単になります。たとえば、は実際には「constポインタ」を意味する1つの単位です(ここで下付き文字として*const読むことができます:) 。私はそれを次のように書きます:const*const

const int *const *const p1; // p1 is a const pointer to const pointer to const int
const int **p2; // p2 is a pointer to pointer to const int

また、宣言は、宣言されている識別子から始めて、「裏返し」と読み取られることを忘れないでください。

于 2012-11-23T23:27:44.587 に答える
2

宣言を解読するのに役立つ/楽しいツールがあります:http://cdecl.ridiculousfish.com/

あなたの場合、それは次のように報告します: const int* const* const x=>constintへのconstポインタへのconstポインタとしてxを const int** x宣言します=>constintへのポインタへのポインタとしてxを宣言します

于 2012-11-24T02:41:10.940 に答える