2016/05/06

[c/c++]ポインタ変数のconst判定

ポインタ変数は、こんなのだ。

char *pStr;

constにするときは、だいたいこうだ。

const char *pStr;

私がconstなポインタ変数にしたいのは、だいたい関数の引数とか、ダブルクォーテーションでくくった文字列とかで、ROM上に置いたデータを参照するだけなので間違って書き換える処理を書いてしまわないようにしたい、という気持ちだ。

ただ、他の人のソースだと、こういうのを使う人もいる。

char * const pStr;
char const* pStr;

あー、変数への代入不可か、アドレス先への代入不可のどっちかだろうとはわかるのだが、見慣れない書き方をされると動揺してしまう。
まあ、コンパイルしてみればすぐにわかるのだけどね。。。

 

急に、VisualStudio2015のC#でツールを作ってみたくなった。

https://drive.google.com/open?id=0B2_3hJpJ5Ui2LUYyUlBRZ203ams

image

わざわざツールにするくらいだから、すごいことをやっているのかと思われそうだが、そういうのは無い。

structとかenumがあったらダメだし、変数名が入っていてもダメ。
ポインタも1つ分までだ。
作ってる最後の方には、我ながらなぜ作り始めようと思ったのかすらわからなくなったくらいだが、まあいいや。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。