10:08:34)追加された行はこの色です。削除された行はこの色です。[#sd955d2d]-C++はC言語にクラス・テンプレート・例外処理などを加えたものです。-そういうわけで、Cをある程度理解してから勉強してからでないと、なんのこったかワカランと思うのであります。C++の勉強する前に、コーヒーブレイクとして、お勧めするサイトがあるのだ。「パソコン初心者の館」の『Cプログラミング診断室』である。大笑いしながら見るのも一興、青ざめながら見るのもまた一興。//*もしCを習得している方ならすぐに習得できると思います。(注)VC2003の場合、"言語拡張"オプションで変更可能、かつ、デフォルトでは、スコープはループ内に収まらないので注意。[#r8f3394c]まずは簡単なプログラムの説明をします。以下のコードは画面に文字の表示をするプログラムでしょう。main()//メイン関数。0;//システムに0を返す。説明はコメントに書いてあるとおりですHello,Workと書いてあるところを他の文字列にして試してみてください。他の文字列を表示することができます。[#a4cfe636]C++はクラス単位でプログラミングを行う言語です。そもそもクラスって何?という方に簡単な説明をするとクラスは変数や関数を一まとめにしたものです。何のためにクラスを使うかの?というのを説明するとプログラムの変更をしたいときその変更を最小限に抑えるためです。クラスにまとめることによりプログラムそのものを書き換えることなくクラスを書き換えるだけでプログラムを変更できますでは上の文字表示プログラムをクラスを使って書いて見ましょう。(*注意:実際に文字を表示するだけの小さなものをクラスにまとめるのは馬鹿のすることです。}これで画面に表示できます。次にこれの説明をします。[#r7053a52]先ほどの上のプログラムをコンパイルするとHello,Workが表示されると思います。そのプログラムの詳細を示して行きたいと思います。#include<iostream>この部分はiostreamというファイルを取り込みます。することでいろいろな関数を使えるようになります。};この部分はPrintCharactorというクラスを宣言します。public:というのはこれをつけることで外からもアクセスできますということを示します。これがないと外からアクセスできません。}この部分はメイン関数です。a;はPrintCharactorクラスをaという名前で作ります。a.PutChar("Hello,Work");この部分はaという名前で宣言されたクラスのPutcharという関数を呼びます。これによって文字が表示できます。[#haae1e4f]同じ名前で中身の違う関数を複数定義できます。~関数をオーバーロードするには、関数の呼び出し時に関数が区別できないと、つまり''関数の引数の型が違わないと''だめです。}ただし、無闇に多くの関数をオーバーロードすると乱雑になりやすいので注意しましょう。[#l4f68f42]演算子の機能を、関数としてプログラマが定義できます。~これは、自前で定義したクラスの演算を分かりやすくしたい時などに便利です。演算子のオーバーロードをするには、キーワード''operator''を使います。初心者サイトに載ってる例は。これだと、どんなメリットがあるのか良くわかんないんだよね。やっておしまい!ちなみに、こんなことはしちゃだめね。}-listはSTLに含まれるコンテナで、すさまじく簡単に言ってしまえば動的な配列の一つ。{{br}}-iteratorはコンテナにアクセスするためのもので、ポインタみたいに使える。セリフが無いんじゃよ動的生成すると、ちゃんと動作するんだけど、メモリリーク対策が面倒くさい。この例ではたった3行だけどね。やっておしまい!そしてメモリリーク対策としてスマートポインタ(boostライブラリのshared_ptr)を導入してみる。やっておしまい!で、こーなってくると、動的生成部分がもーちょっとなんとかならんかなーて思うんだよね。戻り値がCharacter*な関数があれば、いろいろ便利になる。