const値のグローバル配列を作成する場合、たとえば
const int SOME_LIST[SOME_LIST_SIZE] = {2, 3, 5, 7, 11};
SOME_LISTを何らかの方法で変更することは可能ですか?
SOME_LISTがconstメモリの場所を指し、constポインタ自体であるように(つまり、他の場所を指すことができないように)これをどのように書くことができますか?
const値のグローバル配列を作成する場合、たとえば
const int SOME_LIST[SOME_LIST_SIZE] = {2, 3, 5, 7, 11};
SOME_LISTを何らかの方法で変更することは可能ですか?
SOME_LISTがconstメモリの場所を指し、constポインタ自体であるように(つまり、他の場所を指すことができないように)これをどのように書くことができますか?
「const」キーワードを含むポインタの主な例は3つあります。(このリンクを参照してください)
まず、定数変数へのポインターを宣言します。ポインタは移動したり、ポインタが指しているものを変更したりできますが、変数を変更することはできません。
const int* p_int;
次に、変数への「移動できない」ポインタを宣言します。ポインタは「固定」されていますが、データは変更できます。このポインタは宣言して割り当てる必要があります。そうしないと、NULLを指し、そこで修正される可能性があります。
int my_int = 100;
int* const constant_p_int = &my_int;
第三に:定数データへの不動のポインタを宣言します。
const int my_constant_int = 100; (OR "int const my_constant_int = 100;")
const int* const constant_p_int = &my_constant_int;
これを使用することもできます。
int const * const constant_p_int = &my_constant_int;
別の良い参考資料はここを参照してください。これがお役に立てば幸いですが、これを書いている間、あなたの質問はすでに答えられていることに気づきます...
あなたがそれを持っている方法は正しいです。
また、提供する必要はありませんSOME_LIST_SIZE
; C ++は、初期化子から自動的にそれを把握します。