最近、私はこのコードに出くわしました:
#define LOG(type, str) printf(str)
#define LOG1(type, str,arg1) printf(str,arg1)
#define LOG2(type, str,arg1,arg2) printf(str,arg1,arg2)
#define LOG3(type, str,arg1,arg2,arg3) printf(str,arg1,arg2,arg3)
#define LOG4(type, str,arg1,arg2,arg3,arg4) printf(str,arg1,arg2,arg3,arg4)
コードは最近書かれたものです。なので、C99でコンパイルできると思います。
私の質問は、可変長の引数を持つ単純なマクロを使用しないのはなぜですか? LOG
私たちは自分たちをマクロに限定するだけで、それ以上のものは何もありません. LOG5
、などを追加する必要がないことは言うまでもありませんLOG6
。スタック トレースを取得したり、メモリを使い果たしたり、このソリューションが役立つ何かが発生した場合、何かひどいことが起こるでしょうか?
私はミニマリストです。行数が少ないほどよいのです。しかし、ここで何か不足していますか?これは意図的なものですか、それとも悪いコーディング方法ですか?