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

江添亮のC++入門、出版される」記事へのコメント

  • PDFで保存して読んでいますが気になった点

    1.「$ 」という時点から、これLinux環境を中心にして書いてますね。
    市販PCの殆どがWindowsなのに?
    「g++ -o 」よりも、「Visual Express」や「CodeBlocks」のほうがまだ簡単。

    2.わざわざ難しい関数を使う意味がわからない:「std::cout」
    printf(), puts()があるのに、なぜstdを使うのでしょう?

    3. >#include "all.h"
    他の入門書は必要なライブラリだけをインクルードして書くように書かれています。
    こういった全部インクルードするのは実行ファイルのサイズを大きくするだけでなく、無駄が多いのでやめておいたほうがいいのでは。

    4. 入門書なら簡単でいいので説明をもっと詳しく。
    >⽂字列には末尾に s が付くものと付かないものがある
    ここで、「sはstring(英語)の頭文字である。」の一言があれば初心者は助かるのでは。

    ・・・っていう箇所がたくさんありますね。

    • by Anonymous Coward

      2についての回答
      (まあ、初心者にありがちな疑問だよね。)

      C++言語を初めて学ぶ言語と仮定すると、std::cout, std::cin は、C言語の printf, scanf の書式文字の怪 %f %lf ,ポインタの怪 i &i を避けることができる利点がある。
      cout, cin の基本的使い方は << と >> であり、直観的で変則がない点は、初めて学ぶ人に対して、C言語よりも優しく適していると言える。
      演算子、変数、基本構文(制御文等)、関数(値渡しと参照渡し)、Vector、クラスと進めてから、暗黒のC言語編に突入し、配列、ポインタ、関数(ポインタ渡し)と学習コース設計ができる利点がある。
      言語屋の苦心と労作、老婆心がにじみ出ているわけだ。

      • by Anonymous Coward on 2019年09月24日 10時58分 (#3690265)
        cout、cinなんて演算子オーバーライドを使えば+演算子で引き算することだってできるんだぜ!みたいなできるけどやってはいけない反面教師であって実際に使われることなんか想定してないと思うんですが。
        親コメント
        • 激しく同意。C++の入門書に「C++の作法では文字列を表示するときは標準出力に文字列を挿入(もしくはリダイレクト)するのです」なんてずっと書いてあって、ずっと頓珍漢なことだと思ってる。

          ほんとこれって演算子の多重定義のデモンストレーションで、プログラミング言語の書式にUnixシェルの書式を持ち込む価値が無い(入門書ではこの書式のほうが分かりやすいとか意味付けてるけど分かりやすいわけ無いじゃん!)。

          これって(おそらく)iostreamに演算子の多重定義が書かれてるからだと思うけど、この例はC++の初期学習において害はあっても利は無いと思う。

          親コメント

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...