動作環境
C++ Builder XE4
http://qiita.com/7of9/items/8f9fab70fe556b5b6e5c
において @SaitoAtsushi さんにdefined()
を使った多重定義チェック方法を教えていただいた。
その関連コードで#define定義が増えて、現在defined()
の行は「437桁」の定義になってしまっている。
エディタで「読みにくい」。
ソースコードの可読性の改善方法として行連結を試した。
参考 http://www.tamasoft.co.jp/lc/hlp/F024.html
以下はサンプル
http://ideone.com/HjwzuD
#include <stdio.h>
#define DATA_001
#define DATA_002
#define DATA_003
#define DATA_004
#define DATA_005
#if (defined(DATA_001)+defined(DATA_002) \
+defined(DATA_003)+defined(DATA_004) \
+defined(DATA_005)) != 1
#error "Wrong number of selected cases"
#endif
int main(void) {
// your code goes here
return 0;
}
適当な項目数で行連結で分けるあたりが手ではありそう。
一方で#define
で多くのデータセット(現在15データセット)を切り替える、ということ自体が間違いの元かもしれない。
教えていただいた事項
(追記 2017/04/28)
@SaitoAtsushi さんのコメントにて読みやすいコードの書き方を教えていただきました。
使いたくなったので、