2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

PC-9821/9801スレッド Part83

643 :ナイコンさん :2019/03/14(木) 00:46:13.16 ID:IabyqxLh0.net
>>640
ちょっとスレの趣旨とは違うのでアレなんだけどまあ関連はしてるからいいのかな?
C99 で私が手放せないと思う部分はこんな感じ。

・ 変数の宣言がブロックの先頭のみという制限から解放されたこと
・ int32_t などの幅が固定された型やそれを printf で表示するときの書式指定マクロ (inttypes.h で定義されているやつ)
・ inline 関数
・ 暗黙の型の廃止 (後述)

モダンなプログラミングでは変数のスコープの幅が狭い方が好ましい、なるべく使う直前で宣言したいという要求がある。
宣言してる箇所と使う箇所は近い方が見通しが良いし。
他は無ければなくてもどうにでもするが、これは本当にありがたい。

C では整数型の幅が各アーキテクチャで都合の良いように処理系が決めて良いのだけれど、
データ幅について意図があって決め打ちにしたいときに困ることがあったので、
データ幅を示せる型や、それを表示するためにポータブルな仕組みが用意されたのはありがたい。
だけど、 MS-DOS 用に作ったプログラムを他に移植することも無いだろうから、
ポータビリティについてはそんなに気にしても仕方がないかな……。

inline 関数について、たとえば >>615 みたいなマクロを見ればわかるように、
マクロだと型で定義されないので間違いの内容がよくわからんようになるし、
マクロだとローカル変数も定義できないし。 こういうのは積極的に inline 関数に置き換えていきたい。

暗黙の型っていうのは、 C89 でこういう関数定義が許されているやつね。

func(p1,p2) {
return p1+p2;
}

自分はちゃんと型を書くようにすればそれでいいんだけど、今どきのプログラミングを知ってると
こんなのが許されていたというだけで耐えがたい気色悪さを感じる。

総レス数 1001
258 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200