次の違いは何ですか?
char * const
そして
const char *
ベストアンサー1
違いは、const char *
は へのポインターであるのconst char
に対し、char * const
は への定数ポインターである点ですchar
。
1 つ目は、指し示されている値は変更できませんが、ポインターは変更できます。2 つ目は、指し示されている値は変更できますが、ポインターは変更できません (参照と同様)。
また、
const char * const
これは定数 char への定数ポインタです (したがって、これについては何も変更できません)。
注記:
次の 2 つの形式は同等です。
const char *
そして
char const *
この正確な理由は C++ 標準で説明されていますが、注意して混乱を避けることが重要です。私は、次のようなコーディング標準をいくつか知っています。
char const
以上
const char
(ポインターの有無にかかわらず)const
要素の配置はポインターがある場合と同じになりますconst
。