トーク:C++

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

編集メモ[編集]

方向性[編集]

CとC++の比較が多くありますが、 Cができる人のためにC++を解説しようという方向性なんでしょうか?

読者層を絞ろうとしたというよりは、書き手側の都合でcとの比較を増やしています。もともとc言語を先に書き始めていて、その項で説明したことを繰り返さないという方針で進めたかったので、CとC++の差分を強調する書き方になったということです。重複する部分も含めたほうが便利なのかも知れませんが、今のところそれをする予定はないです。--T.Uesugi 2006年11月11日 (土) 08:29 (UTC)
了解しました。書く時にはその辺考慮します。--Eagleheart 2006年11月12日 (日) 11:39 (UTC)

個人的には、C++を独立して解説する本のほうがすきです。確かに文法やキーワードの一部はCのそれらに似ていますが、実際に目指すべきコードはCライクなコードではないからです。C++はJavaのようにオブジェクト指向を強制する言語ではないかもしれないけれど、それはCが構造化されたプログラムを書くことを強制しないというのに似ています。逆にGTKのようにCでもルールを守りさえすればオブジェクト指向を貫くことはできるのです。このようにプログラミングパラダイムを目的としながら強制しない言語というのはC++の欠点でもあり、そのためにC++だからできる逃げ道もいくらかあります。たしかに、Cで書かれたソースをC++のコンパイラで通るようにすればいいだけのこともありますが、CライクなC++を書く人物がC++の開発プロジェクトの障害になることもしばしばある。CとC++の差分を埋めようという発想は、最初からこの逃げ道にトラップされてしまっているように見えるんです。

本を書く上で非常に難しい問題は、C++を知ろうとすると、文法と、オブジェクト指向の概念を完全に理解しておく必要があることで、一方で多くの学習者は、オブジェクト指向を理解するためにオブジェクト指向言語を学ばないといけない。このために、構成が軟らかいとにわとりが先か卵が先か状態になってしまいます。強いて言うなら言語の提案するパラダイムを最初に言語仕様抜きで読者に徹底して理解させて、そのあとにC++の文法と対応づける本がすきです。

--H335 2008年9月22日 (月) 23:55 (UTC)

  • C言語のほうが一段落着いたので、C++の執筆を開始しようと思います。方向性については考え中です。Toya shiwasu (トーク) 2016年7月13日 (水) 14:01 (UTC)
  • データ型と変数、演算子と式、制御文、配列、ポインタ、構造体・共用体、関数、前処理指令については、繰り返しを避けるためC言語のページにリンクを張ることで対応したいと思います。Cにはあるが、C++で別の方法がある機能(例えばprintf → cout、malloc → newなど)は、CとC++の比較ページを作り、そこで注意を促すようにしたいと思います。クラスについては、一旦オブジェクト指向そのものについて説明してから、説明していこうと思います。Toya shiwasu (トーク) 2016年7月14日 (木) 11:29 (UTC)

無名の名前空間[編集]

無名の名前空間について、上手な説明が思いつきません。

コンパイル単位という言葉を使って説明しようとしましたが、漠然としていてわかりにくいです。--Ushizaa 2005年8月22日 (月) 14:52 (UTC)

うわあ。なんかとりとめもなく書かれていますね(苦笑。これだと勉強するの大変だなあ。特にHello, worldでいきなりnewとかしているところとか、いきなりusing namespace書いているところとか(自分はusing namespace書くな派)。放置していた自分も悪いんですが。--利用者ページに構成案があったTietew 2005年8月23日 (火) 14:39 (UTC)
コメントありがとうございます。自分でも方向性を見失い始めてます。。まだ誰も手を加えていないようですので、このブックを消して、構成案を使わせていただきます。Ushizaa 2005年8月28日 (日) 02:18 (UTC)

ページ名の変更について提案[編集]

本ページ名がC++ではなくCPlusPlusとなっているのは何か特別な理由があるのでしょうか?検索エンジンの結果などを見る限り、CPlusPlusという表記はC++ほど一般的でないと思います。そもそも、本ページの上部にあるナビゲーションもCPlusPlusではなくC++と表記されています。もし一週間以内に反対がなければ、ページ名をC++に変更したいと思います。--Ajedony 2008年5月17日 (土) 04:33 (UTC)

特に異議などがありませんでしたので、ページ名を変更しました。--Ajedony 2008年5月24日 (土) 06:45 (UTC)

編集内容の要約の誤り[編集]

  • 2016年7月25日 (月) 14:46‎ 、2016年7月25日 (月) 14:48‎ 、2016年7月25日 (月) 14:49‎の更新は、C言語/*へ移動ではなくC++/*へ移動の誤りです。Toya shiwasu (トーク) 2016年7月25日 (月) 06:04 (UTC)