Cpp クラス const 新しいページはコチラ
提供: yonewiki
(→constメンバ変数) |
(→const外し(const_cast)) |
||
257行: | 257行: | ||
'''const_cast<int *>(constpnValue)''' | '''const_cast<int *>(constpnValue)''' | ||
+ | |||
+ | とします。 | ||
+ | |||
ワ、ワイルドだろ?っていう、そんな感じですが、constな・ん・か、そんなの関係ねぇ~。そんなの関係ねぇ~。ハイ。おっぱっぴ~。こういう具合にconstの効力なんてのは、外そうと思えば外せるわけです。この場合はC++プログラムの理念から外れていることになります。今回の場合はメンバ関数内で書き換えられるわけだからメイン関数側でconstに指定したものを引数にしたことが間違っていることになります。メンバ関数の名前がSetって名前だから、本来は書き換えられるべきでない仕様のハズ。だとしたら、メンバ関数名がおかしいとも考えられるし、間違えて無意味に引数を書き換えてしまうようなメンバ関数になってしまっている可能性もあります。そうするとメンバ関数の引数側でconst int*という型にしておかなかったのが間違いだとも考えられます。 | ワ、ワイルドだろ?っていう、そんな感じですが、constな・ん・か、そんなの関係ねぇ~。そんなの関係ねぇ~。ハイ。おっぱっぴ~。こういう具合にconstの効力なんてのは、外そうと思えば外せるわけです。この場合はC++プログラムの理念から外れていることになります。今回の場合はメンバ関数内で書き換えられるわけだからメイン関数側でconstに指定したものを引数にしたことが間違っていることになります。メンバ関数の名前がSetって名前だから、本来は書き換えられるべきでない仕様のハズ。だとしたら、メンバ関数名がおかしいとも考えられるし、間違えて無意味に引数を書き換えてしまうようなメンバ関数になってしまっている可能性もあります。そうするとメンバ関数の引数側でconst int*という型にしておかなかったのが間違いだとも考えられます。 | ||
− | + | つまり、const_castを使っているという事は何かの歯車が噛み合っていないそんな感じです。それでも、歯車が壊れない程度にガチャガチャ回し続けている社会というのは、よくあります。const_castはどんなことがあろうと、一日たりとも止めることが出来ない社会を成り立たせるために、法に触れない範囲で倫理的に許される範囲であるかどうかを判断しつつも、悪に手を染めてまで、誰かがドラマの悪役を演じて、その人が思う方向へ突きススメルためにある。そういうことです。 | |