MISRA C まとめ #include
https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9
C puzzle bookで出力マクロ
#define PR(a,b) (void)printf(" "#a " = %" #b "=%x\n", a,a)
をC++のTemplateで書く方法がないかこの2年ほど考えている。
考えているだけで、手が動いていないのが敗因。
まだ名案が浮かんでいない。
C++のコーディング標準で、Cのマクロは使わずに、できるだけTemplateを使うように誘導しようとしてきた。
MISRA-C 2008 では、
「Rule 16-0-4 Required Function-like macros shall not be defined.」
と定義している。
しかし、#、##は必ずしもうまくいかないのかもしれない。
「Rule 16-0-6 Required In the definition of a function-like macro, each instance of a parameter shall be enclosed in parentheses, unless it is used as the operand of # or ##.」
Cパズルブック
改訂版, Alan R. Feuer/アラン・R. フューアー 2000-12
https://www.amazon.co.jp/dp/4877830294/
https://bookmeter.com/books/1357557
https://booklog.jp/item/1/4877830294
C言語教育の際に、このパズルブックを必ず解いてもらっている。
サンプルを見て、結果が何になるかを予測しれもらい、
実際にコンパイルして結果を見て、なぜ、予測と違うかを確かめてもらっている。
全問正解したのは、いまだに誰もいない
#include
つまり、C言語の間違えやすいところを、パズル形式で解説しているため、
C言語の初心者から、上級者と自分では思っている人まで、
幅広く利用するとよい本である。
ポインタ、構造体の間違えやすい点を示すよい教材であると考え、
10年以上、紹介してきて評判もよい。
仕事でC言語を利用することがあるなら、1度は解いてみてください。
C言語/C++に対する誤解、曲解、無理解、爽快。
https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.