ページ 1 / 1
includeの利用について
Posted: 2021年8月13日(金) 03:48
by h1j1k1
以下のinclude文を悪用(?)した形は許されますか?
コード:
char credit_list[][] = {
#include "credits.csv"
};
のような形でcreditの様な、コンパイル時にさえロードされていればよいが外部に置いておきたいデータをロードする際にincludeを使う。csvファイル自体は"cell", "cell", "cell", "cell"の形でフォーマットしてある。
Re: includeの利用について
Posted: 2021年8月13日(金) 04:19
by みけCAT
h1j1k1 さんが書きました: ↑2年前
以下のinclude文を悪用(?)した形は許されますか?
コーディングルールなどによるでしょう。
h1j1k1 さんが書きました: ↑2年前
コード:
char credit_list[][] = {
#include "credits.csv"
};
このコードは、配列の要素の型が不完全なのでコンパイルエラーになるでしょう。
コード:
char credit_list[][5] = {
#include "credits.csv"
};
ならコンパイルは通るでしょう。
Re: includeの利用について
Posted: 2021年8月13日(金) 05:26
by h1j1k1
あ、本当ですね、先頭要素ではないのでこれではコンパイルエラーになってしまいます(汗
でしたらコンパイラにもよりますが以下でも通りますかね?
コード:
char *credit_list[] = {
#include "credits.csv"
};
みけCAT さんが書きました: ↑2年前
コーディングルールなどによるでしょう。
とありますが、コーディングルールを気にしない場合は可読性・保守性的にはありだと思いますか?
Re: includeの利用について
Posted: 2021年8月13日(金) 11:34
by usao
別にやりたきゃやればいいと思うけども,
そのincudeの位置に credits.csv の内容を普通に書いておくのと比べて{可読性,保守性}あたりが良くなるとも思えないし,
ファイル群として, .cpp とか .h とかと並んで .csv がある状態を考えると,
「とあるcsvファイルを編集したときには,再コンパイルしなければならないんだぞ」
っていうのが,わかりにくいんじゃないかな? っていう欠点が生じるだけに思える.
Re: includeの利用について
Posted: 2021年8月13日(金) 22:34
by 参照魚
制作環境全体で合理性があり、制作者全員でコンセンサスが取れていれば、プログラマー以外がデータを作成できる事、エクセルというメジャーなツールの恩恵に与れる事、など決して悪い事だけでは無いと思います。コンパイラのプリプロセッサはうまく組み合わせて使えば、他の言語やスクリプトの下拵えにも使えます。例えばシナリオスクリプトデータに#includeや#defineを使うことも可能です。