- PR -

C の localtime() の引数は混乱を招く。

投稿者投稿内容
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2005-08-30 13:09
こんにちは。

あまり、経緯を読まずに書きますが。

locatime()に限らず、ポインタを引数に取る関数に実体の無いポインタを渡すのは
引数が何の役目も果たしていないことになりますよね?
ということで
引用:

関数の引数に '*' 付き変数があったとして、果たしてそれが
ある型のポインタ変数を指すものなのか、それともある型の実体の領域のアドレスを指す
のか瞬時に見分けられますか?


に対しての答えは「瞬時で無いですが、はい」です。
ポインタ変数のポインタを引数にとる場合などは少し考えちゃいますね。
※ユーザ定義型だとその定義を追わないとわかりません。

私もよく、型キャストを幾重にもしてはまることがありました。
とくに Win32APIやMFCはキャストをしなければコンパイルが通らなかったりしますよね?
逆に強引なキャストでもコンパイルが通ってしまうのでバグが見つけにくかったりしますね。

この辺りはC言語の柔軟性ということで、目をつぶってプログラマ側で工夫をするしか
無いのではないでしょうか。

スキルアップ/キャリアアップ(JOB@IT)