c2a-core
c2a-core copied to clipboard
物理定数をどう定義するか?
概要
物理定数をどう定義するか?
詳細
PIや光速Cや,その他の定数をどう定義するか考える.
user/lib等において,接頭辞をつけるとか?
physical_constant.h
#define PCONST_PI (3.14...)
#define PCONST_C (....)
みたいに?
close条件
考えたら
今,主にAOBCなどでは
MATH_kPi //!< 円周率
PHYSICAL_kC //!< 光速
というような定義をしている.
ゆくゆくは
core/Library/math_constant.c, h
core/Library/physical_constant.c, h
などで定義したい?
型付けたすぎるけどCだとそうするしかないですよねー.define
でやる分にはメモリ喰うわけでもないですし全部coreに寄せてよさそう.
型付けたいめっちゃわかる.再プロもできるし.
なんで define
使ってるかというと,C89のconst は,リテラルしか定義できないからなんよ...
つまり,
const float pi = 3.14;
const flaot hoge = pi * fuga;
ができない....
C89そうなんだ.C++なら constexpr
という武器があるんですけどねえ.
とはいえCだとそもそもろくに型付けられないので定数は define
一択だと思います.