パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「情報処理」教員免許の試験問題」記事へのコメント

  • by Anonymous Coward
    うちの大学でも void main って教えてますよ。
    教科書にそう書いてあるから。
    もう、どうにでもなれって、感じですね。
    情報処理学会のどこかの部会かなんかが出した、
    情報教育の教科書でも、void main ってなってますよ。
    動きゃいいんじゃないの?
    もう、知らんって感じ。
    • 数学由来な情報科学的にはvoid mainが正しいらしい。なぜなら、

      メソッドは副作用があり、戻り値がない。エラーはExceptionなどの別の方法で通知。

      ファクション(関数)は副作用がなく、戻り値がある。戻り値の算出に引数以外に依存すべきではない。

      というのが「正しい」姿だからだそうだ。で、mainはメソッドなので、voidでなければいけないそうだ (うちのオブジェクト指向論教授談)。

      exit(1)の1ってmain()の戻り値やん、と反論したら、いやー
      returnじゃないから
      • すみませんが、出来れば
        で、mainはメソッドなので、voidでなければいけないそうだ (うちのオブジェクト指向論教授談)。
        の「main がメソッドである」理由を当の教授がどのように説明していらしたか知りたいのですが。
        • 自己フォロー。

          教授氏の言わんとするところは、main() が関数であるためには、

          int main(int argc, char **argv)
          {
              return argc;
          }
          のように「return の値は引数だけに依存すべき」だという事ですね?

          # じゃあ isprint(3) は locale の状態に依存するから
          # void じゃないといけないって事?

          • by Anonymous Coward on 2001年12月29日 6時40分 (#50718)
            mainの第3引数envpってのがあるけど…
            親コメント
            • by oku (4610) on 2001年12月29日 8時28分 (#50724) 日記
              envp は UNIX (とその係累) の方言ですね。
              差し支えなければ extern char **environ か getenv(3) を使ったほうがいいでしょう。
              親コメント
              • by Anonymous Coward
                いや、引数だけでなんとかしろっていうから。
                つーか、C言語に「UNIXの方言」っていう表現もなー。
              • by oku (4610) on 2001年12月29日 11時42分 (#50756) 日記
                いや、引数だけでなんとかしろっていうから。
                そういう意味だと私は argv も使っちゃいませんよ。:-)
                (「引数だけ」に依存した return の例示なら argc で十分でしょう?)
                つーか、C言語に「UNIXの方言」っていう表現もなー。
                まあ気持ちは分からなくもないんですが これだけ C/C++ が普及 (特に Windows) するとねぇ...。

                # Win な若人に「この bzero() って何ですか?」って
                # 聞かれたときには「時代は変わった」と思いましたです。
                # まあ書いた人にも「今時なら memset() 使えよ」とか
                # 思いましたけど。

                親コメント

Stay hungry, Stay foolish. -- Steven Paul Jobs

処理中...