出版社を探す

ストラウストラップのプログラミング入門

著:ビャーネ・ストラウストラップ
訳:遠藤 美代子
監:επιστημη

紙版

内容紹介

C++の生みの親が初心者に語りかけるプログラミングの王道と手法

「プログラムを開発する」にはさまざまな問題が待ち構えている。開発するための環境であったり動作環境であったり対象ユーザーであったり、あるいは言語の選択やその言語の特性の理解などなど。しかし、純粋に“プログラムを組む”ことに焦点を合わせると、そこには各種問題を解決できる単純な原則がある。本書はその原則を実際に展開しながら「プログラミングとはなにか」「どうやってプログラミングを学習するか」を平易に解説してゆく。何度も挫折を繰り返した学習者や、原点に立ち戻り“プログラミング”を深めたい実務者など、すべての開発者必読の一冊である。

目次

第1章 コンピュータ、人、プログラミング

1.1 はじめに
1.2 ソフトウェア
1.3 人
1.4 コンピュータサイエンス
1.5 遍在するコンピュータ
1.6 プログラマの基準

第1部 基礎

第2章 Hello, World!

2.1 プログラム
2.2 最初のプログラム
2.3 コンパイル
2.4 リンク
2.5 プログラミング環境

第3章 オブジェクト、型、値

3.1 入力
3.2 変数
3.3 入力と型
3.4 演算と演算子
3.5 代入と初期化
3.6 複合代入演算子
3.7 名前
3.8 型とオブジェクト
3.9 型の安全性

第4章 計算

4.1 計算
4.2 目的とツール
4.3 式
4.4 文
4.5 関数
4.6 vector
4.7 言語の機能

第5章 エラー

5.1 概要
5.2 エラーの原因
5.3 コンパイルエラー
5.4 リンクエラー
5.5 ランタイムエラー
5.6 例外
5.7 論理エラー
5.8 概算
5.9 デバッグ
5.10 事前条件と事後条件
5.11 テスト

第6章 プログラムの記述

6.1 問題
6.2 問題について考えること
6.3 電卓
6.4 文法
6.5 文法からコードへの変換
6.6 バージョン1 のテスト
6.7 バージョン2 のテスト
6.8 トークンストリーム
6.9 プログラムの構造

第7章 プログラムの完成

7.1 概要
7.2 入力と出力
7.3 エラー処理
7.4 負の数字
7.5 剰余:%
7.6 コードのクリーンアップ
7.7 エラーからのリカバリー
7.8 変数

第8章 プログラミング言語の機能:関数、その他

8.1 プログラミング言語の機能
8.2 宣言と定義
8.3 ヘッダーファイル
8.4 スコープ
8.5 関数の呼び出しと制御の戻し
8.6 評価の順序
8.7 名前空間

第9章 プログラミング言語の機能:クラス、その他

9.1 ユーザー定義型
9.2 クラスとメンバ
9.3 インターフェイスと実装
9.4 クラスの発展
9.5 列挙
9.6 演算子のオーバーロード
9.7 クラスのインターフェイス
9.8 Date クラス

第2部 入力と出力

第10章 入力および出力ストリーム

10.1 入力と出力
10.2 I/O ストリームモデル
10.3 ファイル
10.4 ファイルを開く
10.5 ファイルの読み取りと書き込み
10.6 I/O エラー処理
10.7 1 つの値の読み取り
10.8 ユーザー定義の出力演算子
10.9 ユーザー定義の入力演算子
10.10 標準入力ループ
10.11 構造化されたファイルの読み取り

第11章 入力と出力のカスタマイズ

11.1 規則性と不規則性
11.2 出力のフォーマット
11.3 ファイルのオープンと位置の指定
11.4 文字列ストリーム
11.5 行指向の入力
11.6 文字の分類
11.7 非標準セパレータの使用
11.8 その他の詳細

第12章 表示モデル

12.1 なぜグラフィックスなのか
12.2 表示モデル
12.3 最初の例
12.4 GUI ライブラリの使用
12.5 座標
12.6 Shape
12.7 Shape のプリミティブの使用
12.8 実行

第13章 グラフィックスクラス

13.1 グラフィックスクラスの概要
13.2 Point とLine
13.3 Lines
13.4 Color
13.5 Line_style
13.6 Open_polyline
13.7 Closed_polyline
13.8 Polygon
13.9 Rectangle
13.10 名前のないオブジェクトの管理
13.11 Text
13.12 Circle
13.13 Ellipse
13.14 Marked_polyline
13.15 Marks
13.16 Mark
13.17 Image

第14章 グラフィックスクラスの設計

14.1 設計原理
14.2 Shape
14.3 基底クラスと派生クラス
14.4 オブジェクト指向プログラミングの利点

第15章 関数とデータのグラフ化

15.1 概要
15.2 単純な関数のグラフ化
15.3 Function
15.4 Axis
15.5 近似
15.6 データのグラフ化

第16 章 GUI

16.1 ユーザーインターフェイスの選択肢
16.2 [Next]ボタン
16.3 単純なウィンドウ
16.4 Button とその他のWidget
16.5 例
16.6 制御の反転
16.7 メニューの追加
16.8 GUI コードのデバッグ

第3部 データとアルゴリズム

第17章 ベクタとフリーストア

17.1 概要
17.2 vector の基礎
17.3 メモリ、アドレス、ポインタ
17.4 フリーストアとポインタ
17.5 デストラクタ
17.6 要素へのアクセス
17.7 クラスオブジェクトへのポインタ
17.8 型の操作:void* とキャスト
17.9 ポインタと参照
17.10 this ポインタ
17.10.1 リンクのその他の使用法

第18章 ベクタと配列

18.1 概要
18.2 コピー
18.3 不可欠な操作
18.4 vector の要素へのアクセス
18.5 配列
18.6 例:回文

第19章 ベクタ、テンプレート、例外

19.1 問題
19.2 サイズの変更
19.3 テンプレート
19.4 範囲チェックと例外
19.5 リソースと例外

第20章 コンテナとイテレータ

20.1 データの格納と処理
20.2 STL の理念
20.3 シーケンスとイテレータ
20.4 リンクリスト
20.5 vector のさらなる一般化
20.6 例:単純なテキストエディタ
20.7 vector、list、string
20.8 自作のvector をSTL 実装に合わせる
20.9 STL への組み込み配列の適合
20.10 コンテナの概要

第21章 アルゴリズムとマップ

21.1 標準ライブラリのアルゴリズム
21.2 最も単純なアルゴリズム:find()
21.3 一般的な検索:find_if()
21.4 関数オブジェクト
21.5 数値アルゴリズム
21.6 連想コンテナ
21.7 コピー
21.8 ソートと検索

第4部 視野を広げる

第22章 理想と歴史

22.1 歴史、理想、プロフェッショナリズム
22.2 プログラミング言語の歴史の概要

第23章 テキストの操作

23.1 テキスト
23.2 文字列
23.3 I/O ストリーム
23.4 マップ
23.5 問題
23.6 正規表現の概念
23.7 正規表現を使った検索
23.8 正規表現構文
23.9 正規表現を使ったマッチング
23.10 参考文献

第24章 数値

24.1 概要
24.2 サイズ、精度、オーバーフロー
24.3 配列
24.4 C スタイルの多次元配列
24.5 Matrix ライブラリ
24.6 例:1 次方程式を解く
24.7 乱数
24.8 標準数学関数
24.9 複素数
24.10 参考文献

第25章 組み込みシステムプログラミング

25.1 組み込みシステム
25.2 基本概念
25.3 メモリ管理
25.4 アドレス、ポインタ、配列
25.5 ビット、バイト、ワード
25.6 コーディング標準

第26章 テスト

26.1 私たちが望むもの
26.2 証明
26.3 テスト
26.4 テストのための設計
26.5 デバッグ
26.6 パフォーマンス
26.7 参考文献

第27章 C プログラミング言語

27.1 C とC++:同胞
27.2 関数
27.3 言語間の小さな相違点
27.4 フリーストア
27.5 C スタイルの文字列
27.6 入出力:stdio
27.7 定数とマクロ
27.8 マクロ
27.9 例:侵入性があるコンテナ

第5部 付録

付録A 言語のまとめ

A.1 概要
A.2 リテラル
A.3 識別子
A.4 スコープ、ストレージクラス、ライフタイム
A.5 式
A.6 文
A.7 宣言
A.8 組み込み型
A.9 関数
A.10 ユーザー定義型
A.11 列挙
A.12 クラス
A.13 テンプレート
A.14 例外
A.15 名前空間
A.16 別名
A.17 プリプロセッサディレクティブ

付録B 標準ライブラリのまとめ

B.1 概要
B.2 エラー処理
B.3 イテレータ
B.4 コンテナ
B.5 アルゴリズム
B.6 STL ユーティリティ
B.7 I/O ストリーム
B.8 文字列演算
B.9 数値
B.10 C の標準ライブラリの関数
B.11 その他のライブラリ

付録C Visual Studio の使用

C.1 プログラムを実行するための準備
C.2 Visual Studio のインストール
C.3 プログラムの作成と実行
C.4 その後

付録D FLTK のインストール

D.1 概要
D.2 FLTK のダウンロード
D.3 FLTK のインストール
D.4 Visual Studio でのFLTK の使用
D.5 動作テスト

付録E GUI の実装

E.1 コールバックの実装
E.2 Widget の実装.
E.3 Window の実装
E.4 Vector_ref
E.5 例:Widget の操作

用語集
参考文献
索引

著者略歴

訳:遠藤 美代子

ISBN:9784798119595
出版社:翔泳社
判型:B5変
ページ数:1176ページ
定価:7800円(本体)
発行年月日:2011年08月
発売日:2011年08月09日
国際分類コード【Thema(シーマ)】 1:UB