Cプログラミング

TAとして担当中のCプログラム演習の今週分の資料をざっくり眺める。

「浮動型のデータを整数型変数に代入すると整数型に暗黙的に変換されます。」
とのこと。


・・まじっすか。
そんなん出来るんだっけ。



とりあえずよくわからんので手元のK&Rを開いてみる。


・・確かに出来るらしい。
基本的に小数以下切捨ての方針で丸められるのか。
しかしながら条件次第で随所に『そのふるまいは不定である。』の文字。

なんとなくらしいと言えばらしい気もするけど。


おっかないなぁ。
絶対こんな使い方すべきじゃないと思うんだけど。
広い方から狭い方への型変換を暗黙的に出来るなんて。
多少面倒でもちゃんと関数で意図通りに丸めてから明示的にキャストすべきでしょう。
ホントはキャスト自体避けるべきなんだろうけど、それは難しいので。
俺なんていまだにceilとroundとfloorを間違えて使ってバグ混入させてると言うのに。(※それは駄目過ぎ)


「こういうことも出来るがちゃんと明示的に変換しましょう」みたいな流れで講義を進めてくれるなら問題ないんですがね。
この講師お手製の資料だと、特にその辺の区別無いんだよなぁ。
うーん。

まぁどうせ最近の言語だとこんな使い方出来ないと思うんで気にすることでもないのかね。


とは言ってみたものの、Cで出来るってことはC++でも当然出来るのか・・