includeの利用について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
h1j1k1
記事: 37
登録日時: 6年前

includeの利用について

#1

投稿記事 by h1j1k1 » 2年前

以下のinclude文を悪用(?)した形は許されますか?

コード:

char credit_list[][] = {
#include "credits.csv"
};
のような形でcreditの様な、コンパイル時にさえロードされていればよいが外部に置いておきたいデータをロードする際にincludeを使う。csvファイル自体は"cell", "cell", "cell", "cell"の形でフォーマットしてある。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: includeの利用について

#2

投稿記事 by みけCAT » 2年前

h1j1k1 さんが書きました:
2年前
以下のinclude文を悪用(?)した形は許されますか?
コーディングルールなどによるでしょう。
h1j1k1 さんが書きました:
2年前

コード:

char credit_list[][] = {
#include "credits.csv"
};
このコードは、配列の要素の型が不完全なのでコンパイルエラーになるでしょう。

コード:

char credit_list[][5] = {
#include "credits.csv"
};
ならコンパイルは通るでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

h1j1k1
記事: 37
登録日時: 6年前

Re: includeの利用について

#3

投稿記事 by h1j1k1 » 2年前

あ、本当ですね、先頭要素ではないのでこれではコンパイルエラーになってしまいます(汗
でしたらコンパイラにもよりますが以下でも通りますかね?

コード:

char *credit_list[] = {
#include "credits.csv"
};
みけCAT さんが書きました:
2年前
コーディングルールなどによるでしょう。
とありますが、コーディングルールを気にしない場合は可読性・保守性的にはありだと思いますか?

アバター
usao
記事: 1887
登録日時: 11年前

Re: includeの利用について

#4

投稿記事 by usao » 2年前

別にやりたきゃやればいいと思うけども,
そのincudeの位置に credits.csv の内容を普通に書いておくのと比べて{可読性,保守性}あたりが良くなるとも思えないし,

ファイル群として, .cpp とか .h とかと並んで .csv がある状態を考えると,
「とあるcsvファイルを編集したときには,再コンパイルしなければならないんだぞ」
っていうのが,わかりにくいんじゃないかな? っていう欠点が生じるだけに思える.

参照魚
記事: 109
登録日時: 6年前

Re: includeの利用について

#5

投稿記事 by 参照魚 » 2年前

制作環境全体で合理性があり、制作者全員でコンセンサスが取れていれば、プログラマー以外がデータを作成できる事、エクセルというメジャーなツールの恩恵に与れる事、など決して悪い事だけでは無いと思います。コンパイラのプリプロセッサはうまく組み合わせて使えば、他の言語やスクリプトの下拵えにも使えます。例えばシナリオスクリプトデータに#includeや#defineを使うことも可能です。

返信

“C言語何でも質問掲示板” へ戻る