Cpp クラス constのソースを表示
新しいページはコチラ
移動:
案内
,
検索
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++ クラス const</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> </tr> </table> ※このページでは[[C PlusPlus|C++]]にのみ存在する機能として、記事タイトルが<nowiki>C++ クラス const</nowiki>になっています。<br /> <br /> == '''クラス const''' == クラスとconstキーワードの関係について、この項目で記述したいと思います。変数で使っていたconstキーワードとはまた違った使い方をしますが、基本的な理念は同じです。つまりは変数の中に格納した値を初期化や初期値から変更されないように定数化・保護するということを目的としています。変えられたくない。変えられると動かなくなる。とか、変えられても大丈夫なようにチェックするということから解放されたい。こういったプログラマの都合により使われるキーワードです。 constキーワードは大きなクラスや標準的に配布されるプログラムでも積極的に使われていますので、クラスに関連するところで、このキーワードが使われた時、どういった効力があって、何が保護されるのかを理解しておかないと、値を変更する手順の考え方の齟齬がクラス開発者とそれを利用する人の中で発生したり、クラス開発者自身の中でうまく、保護がかけられていない状態になったりします。 [[C キャスト|キャスト]]の記事でもconst外しの解説あたりで、ポインタの中身のconstとポインタ変数自身のconstについて紹介しましたが、ここでも改めてconstの基本について復習しておきます。 '''*定数変数の定義''' :const int nSize = 1000; :もしくは :int const nSize = 1000; '''*ポインタでの定数変数(アドレス差し替えによる中身の変更発生はOK)''' :const int* pnSize = &pnSize2; :もしくは :int const * pnSize = &pnSize2; const宣言されていないポインタ変数に上記のような方法で宣言された変数のアドレスを代入することもできません。その代入して移し替えたポインタ変数から中身が変更される可能性が生じるためです。 '''*アドレス変更できないポインタでの定数変数''' :const int * const pnSize = new int(1000); :もしくは :int const * const pnSize = new int(1000); となります。そしてキャストでは、このconst外しなる、奥の手があることも説明しました。 それではクラスにおけるconstにはどのようなものがあるのか見てみましょう。
テンプレート:記事名の制約
(
ソースを閲覧
)
Cpp クラス const
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ