がtypedefを定数構造体へのポインタのtypedef速記
typedef struct some_struct {
int someValue;
} *pSomeStruct;
で構造体を宣言した後、 'CONST some_structの*のVAR'
void someFunction1(const pSomeStruct var)
を意味する、CONST宣言である関数へのパラメータとして渡します
some_struct * const var
これは、ISO C規格のセクション6.7.5.1にも記載されています。この場合、 'const'はポインターに適用され、ポインターが指すデータには適用されません。
typedef const struct some_struct *pcSomeStruct;
void someFunction2(pcSomeStruct var)
だから私はそれを短くしたいと思っています:)機能パラメータは完全に明示的ですが、言葉で詰まっています – Ulterior
簡略化は必ずしも良いことではありません:クリティカルパッチアップデートやそれ以外のものは 'cpu'ですか?私はexplicit..nessのようです – pmg
@ user757808 - 私は 'user_defined_const_pointer_typedef'を見るよりも' const'キーワードをポインタで見るのが好きで、APIがどのような名前付け規則をconstポインタ 'typedef'に使うのか把握しなければなりません。 Cを知っている人は 'const int *'と 'int * const'の違いを知っています。誰もが 'const some_struct'と' const_some_struct'の違いを自動的に見ているわけではありません。 –