質問: cin.get(); cin.ignore(256 , ' '); lastInitial=cin.get(); cout << firstInitial<
回答: A1. 要するに「文字数」または「特定文字が現れるまで(その特定文字の最初の1回を含む)」読み飛ばすわけです。 提示例では 256 文字を、またはスペースが現れるまで、読み飛ばす(そのスペースの1つ目も読み飛ばし対象)ということになります。試しに 256 でなくて 2 くらいを指定すると違いがわかるでしょう。あるいは `Harry Truman` と入力してもいいでしょう(区切りスペースとして2個入力する)。 A2. `` は「ストリーム入力」を行うための機能を使うという意味ですね。 この例では `cin` つまり標準入力ストリームを使っているため必要です(が次の回答を参照) A3. `` を指定すると(リンク先にて書いてあるとおり) `` `` `` `` を全て `#include` したことになります。良く使う機能を一括で指定できて便利だが、不要な機能も同時にコンパイル対象になるかもしれないということです。提示例では先に `#include ` しているので、改めての `#include ` は不要。 マニピュレータを使う(フォーマット付き入出力をしたい)ときには `` が必要です。提示例ではフォーマット付き入出力をしていないので無くても動きます。 `endl` なんかもマニピュレータですが、使用頻度の違いにより `` でなく `` にて定義されています。 [c++](/questions/tagged/c%2b%2b "'c++' のタグが付いた質問を表示") のこの辺の関数とかクラスとかは最初のうちは関係がわかりにくいかもしれません。 `istream` を探しているのにヒットするのは `basic_istream` ばかりとか。 理解が進むと「実は同じもの」なのだと納得できる時が来ます。