C++プライマー 第4版(バーバラ・E・ムー スタンリー・B・リップマン ジョゼ・ラジョワ 玉井 浩)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. C++プライマー 第4版

C++プライマー 第4版




翻訳

形式:
書籍
発売日:
ISBN:
9784798109923
定価:
7,920(本体7,200円+税10%)
仕様:
A5・976ページ
シリーズ:
IT Architects' Archive
本書籍には新版があります
C++プライマー 第5版

現場でライブラリをガンガン使うプログラマのための入門書

本書は、C++言語を根本から理解でき、プログラム開発においても安全で高品質なものを創り上げる力を身につけられる1冊です。また、国際標準になっているC++プログラミングの現代的スタイルを強調するために根本的に再編成し、加筆しました。

【本書の特徴】



・- 優れたパフォーマンスを発揮できるようにライブラリ利用の実際例やC++の特徴を解説。C++言語の最良の使い方を知ることができる。
・- C++の概念と技法についても権威ある議論を展開しているので、経験を積んだプログラマにとっても極めて価値が高い。
・- 重要な考え方に焦点を合わせた補助説明を行い、C++に慣れないプログラマが難解に思う多くの話題について説明を加えた。
・- 本文中でプログラマの助けとなる「警戒」「ヒント」「ノート」「最善手」を「C++実践ノート」として巻末にまとめ、使いやすさを徹底。

※ なお、本書と『C++スタイルブック』を併読することでチームプログラミングの効率と品質が格段に向上します。

第1章 さあ、始めよう
1.1 簡単なC++プログラムを書くこと
1.2 入出力初見
1.3 コメントについて一言
1.4 制御構造
1.5 クラスの導入
1.6 C++プログラム
第1章のまとめ

第I部 基本事項

第2章 変数と基本的な型
2.1 基本的組み込み型
2.2 リテラル定数
2.3 変数
2.4 const修飾子
2.5 参照
2.6 typedef名
2.7 列挙型
2.8 クラス型
2.9 独自のヘッダファイルを書くこと
第2章のまとめ

第3章 ライブラリ型
3.1 名前空間のusing宣言
3.2 ライブラリ:string型
3.3 ライブラリ:vector型
3.4 イテレータの導入
3.5 ライブラリ:bitset型
第3章のまとめ

第4章 配列とポインタ
4.1 配列
4.2 ポインタを導入すること
4.3 C風文字列
4.4 多次元配列
第4章のまとめ

第5章 式
5.1 算術オペレータ
5.2 比較オペレータと論理オペレータ
5.3 ビットオペレータ
5.4 代入オペレータ
5.5 インクリメントオペレータとデクリメントオペレータ
5.6 矢印オペレータ
5.7 条件オペレータ
5.8 sizeofオペレータ
5.9 コンマオペレータ
5.10 複合式の計算
5.11 new式とdelete式
5.12 型変換
第5章のまとめ

第6章 文
6.1 単純文
6.2 宣言文
6.3 複合文(ブロック)
6.4 文スコープ
6.5 if文
6.6 switch文
6.7 while文
6.8 for文
6.9 do while文
6.10 break文
6.11 continue文
6.12 goto文
6.13 tryブロックと例外処理
6.14 デバッギングにプリプロセッサを使うこと
第6章のまとめ

第7章 関数
7.1 関数を定義すること
7.2 アーギュメントを渡すこと
7.3 return文
7.4 関数宣言
7.5 局所的オブジェクト
7.6 インライン関数
7.7 クラスのメンバ関数
7.8 多重定義関数
7.9 関数へのポインタ
第7章のまとめ

第8章 IOライブラリ
8.1 オブジェクト指向ライブラリ
8.2 ストリーム状態
8.3 出力バッファを管理すること
8.4 ファイルの入力と出力
8.5 stringストリーム
第8章のまとめ

第II部 コンテナとアルゴリズム

第9章 直列コンテナ
9.1 直列コンテナを定義すること
9.2 イテレータとイテレータ範囲
9.3 直列コンテナ操作
9.4 vectorはどのように大きくなるか
9.5 どのコンテナを使うか
9.6 string再訪
9.7 コンテナアダプタ
第9章のまとめ

第10章 連想コンテナ
10.1 準備:pair型
10.2 連想コンテナ
10.3 map型
10.4 set型
10.5 multimap型とmultiset型
10.6 コンテナの使い方:テキスト問い合わせ問題
第10章のまとめ

第11章 汎用アルゴリズム
11.1 概観
11.2 アルゴリズムとは
11.3 イテレータ再訪
11.4 汎用アルゴリズムの構造
11.5 コンテナ特有のアルゴリズム
第11章のまとめ

第III部 クラスとデータ抽象

第12章 クラス
12.1 クラスの定義と宣言
12.2 暗黙のthisポインタ
12.3 クラススコープ
12.4 コンストラクタ
12.5 フレンド
12.6 staticクラスメンバ
第12章のまとめ

第13章 コピー制御
13.1 コピーコンストラクタ
13.2 代入オペレータ
13.3 デストラクタ
13.4 メッセージ処理の例
13.5 ポインタメンバの管理
第13章のまとめ

第14章 多重定義操作と変換
14.1 オペレータを多重定義すること
14.2 入力オペレータと出力オペレータ
14.3 算術オペレータと比較オペレータ
14.4 代入オペレータ
14.5 添字オペレータ
14.6 メンバアクセスオペレータ
14.7 インクリメントオペレータとデクリメントオペレータ
14.8 関数呼び出しオペレータと関数オブジェクト
14.9 変換とクラス型
第14章のまとめ

第IV部 オブジェクト指向プログラミングと汎用プログラミング

第15章 オブジェクト指向プログラミング
15.1 OOP(オブジェクト指向プログラミング):概観
15.2 基底クラスと派生クラスを定義すること
15.3 変換と継承
15.4 コンストラクタとコピー制御
15.5 継承階層下のクラススコープ
15.6 純粋仮想関数
15.7 コンテナと継承
15.8 クラスと継承の扱い
15.9 テキスト問い合わせ再現
第15章のまとめ

第16章 テンプレートと汎用プログラミング
16.1 テンプレートの定義
16.2 具体化
16.3 テンプレートをコンパイルするモデル
16.4 クラステンプレートのメンバ
16.5 汎用ハンドルクラス
16.6 テンプレートの特殊化
16.7 多重定義と関数テンプレート
第16章のまとめ

第V部 進んだ話題

第17章 大規模プログラムのためのツール
17.1 例外処理
17.2 名前空間
17.3 多重継承と仮想継承
第17章のまとめ

第18章 特殊なツールと技法
18.1 メモリ割り付けの最適化
18.2 実行時型認識
18.3 クラスメンバへのポインタ
18.4 入れ子クラス
18.5 union:メモリ節約クラス
18.6 局所的クラス
18.7 本質的に移植性のない機能
第18章のまとめ

付録 A ライブラリの内容

A.1 ライブラリ名とヘッダ
A.2 アルゴリズム概観
A.3 IOライブラリ再訪

C++実践 TIPS

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2012年12月25日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 276
一番下の行
2刷
void printValues(int (matrix*)[10], int rowSize);
void printValues(int (*matrix)[10], int rowSize);
2010.01.29
1刷 324
11行目
2刷
単語を読んでstringに格納する。
の行を読んでstringに格納する。
2010.01.29
1刷 330
ストリームの状態の問い合わせと制御
「ストリームの状態の問い合わせと制御」のプログラムでエラーが発生する可能性があります。エラー原因は8行目の
     cin.clear(istream::failbit);
ではうまくfailbitがクリアされないためで
      cin.clear();
にすると、failbitがクリアされます。ただし、エラーはクリアされても入力は消費されないので(これは、プライマーには書いてありませんが、Stroustrap『プログラミング言語C++第3版』に書いてあります)、エラーを起こした文字を消費してから読み直さないとやはり、無限ループになります。文字を消費するように修正したプログラムを以下に掲げます。
#include <iostream>
#include <string>

void main()
{
int ival;
string s;

while(cin>>ival,!cin.eof()){
if(cin.bad())
// throw runtime_error("IO stream corrupted");
{ cout << "illegal data\n"; return; }
if(cin.fail()){
cerr<<"bad data,try again";
cin.clear();
// cin.clear(istream::failbit);
cin>>s; cout<<s<<endl;
continue;
}
//ivalの処理
cout<<ival<<endl;
}
}

2007.09.13
1刷 440
11.2.1節の練習問題 11.4
vがvector<double>であるとして、accumulate<v.begin(),v.end(),0)という呼び出しのどこが良くないか?
vがvector<double>であるとして、accumulate(v.begin(),v.end(),0)という呼び出しのどこが良くないか?
2012.12.25
1刷 582
表14.3 「論理的関数オブジェクト型」
logical_and<Type>   &を適用する。 logical_or<Type>    |を適用する。
logical_and<Type>   &&を適用する。 logical_or<Type>    ||を適用する。
2012.12.25