const char* const ってなんで2回もつけるんだよ。
C++においては、一般的にC言語のような#defineで定数を書く代わりに
constの定数を使えと言われます。
その際にint型では、
const int MAX_VALUE = 100;
とかで良いのですが、文字列の場合、
const char* const DEFAULT_NAME = "hogehoge";
のような感じになります。
えっ。2つのconstの違いは何かって?
さあ?最底辺に聞かれましてもねえ。
まあ、たしかどっちかがポインタのconstでもう一つがポインタの指し先のconstです。
ちなみに#defineを使わない理由は、型が安全でないからという話と
スコープ範囲が広いということらしいです。
まあ、constはれっきとした定義、#defineはタダの置き換えになるという感じなので
C++でも定数宣言以外では、#defineが超絶に便利な場合があるのですがね。
では。
ディスカッション
コメント一覧
まだ、コメントがありません