2012-02-28 6 views
2

可能性の重複:
what is the difference between const int*, const int * const, int const *このタイプはまったく何ですか?

誰かが私にこのタイプを説明できますか?

char const * const blah; 

const char *のように書かれていると思います。 constが型の意味を投稿するのは何ですか?例えばint const foo

最初の文は何を意味しますか?

+0

セミコロンはどこですか?変数、関数、または名前はどこですか? –

+0

申し訳ありませんが、修正されました。主な問題は私の脳が完全に揚げられていることです。 – SirYakalot

+0

割り当てがない場合、このタイプは*役に立たない*です。あなたはそれを宣言した後、const blahを変更することはできません。 –

答えて

4

定数の定数へのポインタ。あなたが指し示すアドレスを変更することはできず、その末尾の文字を変更することはできません。

+0

なぜそれがconstではないのか混乱していますint * const – SirYakalot

+0

@SirYakalot: 'const int foo'は' int const foo'と同じです。同様のロジックによって、 'const int * const foo'は' int const * const foo'と同じです。 –

+0

私はあなたの前にconstを置くことはできませんでした。ハァッ。 const int const *についてはどうですか? – SirYakalot

2
char const * const ptr = "Hello"; 

ptrは、定数文字への定数ポインタです。つまり、ptrも指しているデータも変更できません。それ自身のポインタは定数型なので、後で再代入することができないので、初期化する必要があります。

char const * const laterPtr; // Wrong. 
関連する問題